O Conhecimento

O conhecimento é inútil a menos que você o compartilhe.

quinta-feira, 19 de setembro de 2013

BAPI_GOODSMVT_CREATE - O Básico

Mais uma (dentre milhares) de BAPI para a coleção.......

BAPI_GOODSMVT_CREATE


segue exemplo de uso para criação de documentos MM......

**********************************************************************
* BAPI - BAPI_GOODSMVT_CREATE
**********************************************************************

DATAwa_goodhdr        LIKE bapi2017_gm_head_01,
      wa_goodcod        LIKE bapi2017_gm_code,
      it_gooditem       TYPE TABLE OF bapi2017_gm_item_create WITH HEADER LINE,
      it_return         TYPE TABLE OF bapiret2   WITH HEADER LINE,
      goodsmvt_headret  LIKE bapi2017_gm_head_ret,
      materialdocument  TYPE bapi2017_gm_head_ret-mat_doc,
      matdocumentyear    TYPE bapi2017_gm_head_ret-doc_year.



*** Preenchendo estrutura de cabeçalho
  wa_goodhdr-pstng_date sy-datum.
  wa_goodhdr-doc_date   sy-datum.
  wa_goodhdr-pr_uname   sy-uname.
  wa_goodhdr-header_txt 'MOVIMENTO'.

***

  wa_goodcod-gm_code '04'.   "MB1B


***** transações possiveis.....e seus cosdigos.....






 CLEARit_gooditem.

    it_gooditem-material    "Nº do material
    it_gooditem-plant       "Centro
    it_gooditem-stge_loc    "Depósito origem
    it_gooditem-move_type  '311'"Tipo de movimento (administração de estoques)
    it_gooditem-entry_qnt  = "QUANTIDADE
    it_gooditem-item_text  'Movimento'.
    it_gooditem-move_stloc = "Depósito destino
    APPEND it_gooditem.



REFRESHit_return.

  CLEARmaterialdocument,matdocumentyear.

  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    EXPORTING
      goodsmvt_header  wa_goodhdr
      goodsmvt_code    wa_goodcod
      testrun          ' '
    IMPORTING
      materialdocument materialdocument " retorno documento
      matdocumentyear  matdocumentyear" retorno ano documento
    TABLES
      goodsmvt_item    it_gooditem
      return           it_return.

  READ TABLE it_return WITH KEY type 'E'.

  IF sy-subrc 0."erro encontrado
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBAC
K'.
ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  ENDIF.


BASICÃO DEMAIS DA CONTA..........ABS.

segunda-feira, 16 de setembro de 2013

Copia de Pacote.......

OOOOPPPPPAAAAA..............

Você no final de uma grande implementação Z, com um grande pacote Z, com diversas coisinhas bakanas...visão, tabelas, elementos de dados , dominios, programas, etc.....dai....não sabe copiar.....vai então umas dicas......( ainda não testadas 100%, falta o ambiente para importar......kkkkk)

Lógico, um Basis (ou outro sapense) pode ler e dizer, cara tem um jeito muito mais fácil de transportar isso, bom pode até ter, mas esse foi o que arquitetei, aparentemente funciona, sem muita intervenção via Basis.

Vamos as dicas:

Programa para gerar request a partir de um pacote: RSWBO060

programa para salvar programas  = REPTRAN

programa para salvar em .MDB = RIACCESS

transação AL11 para ver o caminho do servidor dev.

Liberar a request antes de copiar os arquivos.

Diretório onde fica as request, geralmente:  DIR_TRANS

Request geram, dois arquivos, geralmente:
\usr\sap\tras\cofilese
\usr\sap\tras\data

ECDK905778

nesse caro vai ter um arquivo \usr\sap\tras\cofiles\K905778.ECD
e outro no \usr\sap\tras\data\R905778.ECD

transação para copiar o arquivo = CG3Y

deposi entrar no QAS e deletar a request da fila.

terça-feira, 3 de setembro de 2013

Um report, duas (ou mais) transações diferentes, com telas diferentes.....

Fácil....fácil.....vamos ao código que é melhor do que ficar escrevendo e explicando...as vezes é mais pratico ver.....

SELECTION-SCREEN BEGIN OF SCREEN 4000.
SELECTION-SCREENBEGIN OF BLOCK WITH FRAME TITLE text-001.
PARAMETERSp_locald LIKE zotd_carga-codlocalsaida.
SELECTION-SCREENEND OF BLOCK 1.
SELECTION-SCREEN END OF SCREEN 4000.


SELECTION-SCREEN BEGIN OF SCREEN 5000.
PARAMETERSp_cargap(5)  TYPE c.
SELECTION-SCREEN END OF SCREEN 5000.


Veja as linhas em AZUL.....(corzinha fesca, gosto de preto e branco...rs.....GALOOOO!!!!) foram criadas as duas screen, agora para fazer a chamada é incluir as linhas abaixo no INITIALIZATION.

IF sy-tcode 'ZSDR050'.
    CALL SELECTION-SCREEN 5000.
  ELSE.
    CALL SELECTION-SCREEN 4000.
  ENDIF.



PRONTIUM......funciona que é uma beleza........



fonte:http://scn.sap.com/thread/111698




 
Blogger Templates