O Conhecimento

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

terça-feira, 26 de março de 2013

Carga - Atualização de Contratos

Epa......nasceu mais um filhinho......kkkkk!!!!

Carga e atualização de contratos, t-code ME31 / ME32 / ME33 e suas variações.... ME31K / ME32K / ME33K.

A ideia é poder realizar carga em contratos com milhares de itens e criar novas condições de preços, evitando a carga de vários contratos subsequentes, ou seja, realizar tudo dentro de um mesmo contrato.

Vamos as BAPI, usadas:

BAPI_CONTRACT_CREATE --->> Cria Novo Contrato

BAPI_CONTRACT_CHANGE --->> Altera Contrato

BAPI_CONTRACT_GETDETAIL--->> Ler contrato


Segue abaixo alguns print's de tela para exemplificar o contrato com os itens, e os itens com as suas condições de pagamento e seus prazos.






Daí quando alguém fizer um pedido referenciando este contrato, já vai buscar o valor conforme a validade da data da condição de validade do preço.......esse é o pulo do gatinho.....kkkkkk.

Caso alguém queira uma dica sobre o uso e criação das condições entre em contato: ricardomourabraga@gmail.com

quarta-feira, 20 de março de 2013

Acesso Dados Alterados PO - Pedido de compra e outros (CHANGEDOCU_CDPOS_READ)

Função básica para leitura de registro de dados alterados (Read and format change documents) .......

segue exemplo de uso........



DATA: ev_count  TYPE  i,
            et_cdpos  TYPE  cdpos_tab,
            et_pcdpos TYPE  pcdpos_tab.

      DATA: wa_cdpos LIKE LINE OF et_cdpos.

      DATA: iv_objectid TYPE  cdhdr-objectid.

      DATA: iv_tabkey TYPE  cdpos-tabkey.

      iv_objectid = wa_relatorio-ebeln.

      CALL FUNCTION 'CHANGEDOCU_CDPOS_READ'
        EXPORTING
          iv_objectclas      = 'EINKBELEG'
          iv_objectid        = iv_objectid
          iv_changenr        = ' '
          iv_tabname         = 'EKET'
          iv_tabkey          = ' '
          iv_fname           = 'EINDT'
          iv_pcdpos_flag     = ' '
          iv_client          = ' '
        IMPORTING
          ev_count           = ev_count
          et_cdpos           = et_cdpos
          et_pcdpos          = et_pcdpos
        EXCEPTIONS
          no_importparameter = 1
          OTHERS             = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.

      IF et_cdpos IS NOT INITIAL.
        LOOP AT et_cdpos INTO wa_cdpos.
          CLEAR: iv_tabkey.
          CONCATENATE sy-mandt wa_relatorio-ebeln wa_relatorio-ebelp INTO iv_tabkey.
          IF wa_cdpos-tabkey(18) = iv_tabkey.
            wa_relatorio-eindt2 = wa_cdpos-value_old.
            EXIT.
          ELSE.
            wa_relatorio-eindt2 = ''.
          ENDIF.
        ENDLOOP.
      ELSE.
        wa_relatorio-eindt2 = ''.
      ENDIF.

quarta-feira, 6 de março de 2013

COMMIT WORK STOP (interrompe) BATCH INPUT


Em um programa executado usando o BATCH INPUT,  se você chamar o programa via CALL TRANSACTION , depois do COMMIT WORK termina o processamento do batch input.


DESCRIÇÂO do HELP do COMMIT (F1):

"In a program executed using batch input, or if you have called the program using the USING addition of the statement CALL TRANSACTION, COMMIT WORK terminates the batch input processing when using the corresponding settings. "

Ou se usar BAPI_TRANSACTION_COMMIT também interrompe o processamento.

Várias são as soluções, mas a mais apropriada para o CALL TRANSACTION foi a alteração dos parametros de opções de chamada.

 wa_opcoes-racommit 'X'. " preencher com X
 wa_opcoes-updmode  'L'. " mudar a opção do update mode conforme help


vamos ao que diz o help......do CALL TRANSACTION:


Addition 2

... UPDATE upd

Effect

The UPDATE addition determines the processing mode for batch input processing. You can specify a character-type object for upd. Its possible content and its effect are displayed in the following table. Without use of one of the additions UPDATE or OPTIONS FROM, the effect is the same as if upd had the content "A".
upd Effect
"A" Asynchronous update. Updates of called programs are executed in the same way as if in the COMMIT WORK statement the AND WAIT addition was not specified.
"S" Synchronous processing. Updates of the called programs are executed in the same way as if in the COMMIT WORK statement the AND WAIT addition had been specified.
"L" Local update. Updates of the called program are executed in such a way as if the SET UPDATE TASK LOCAL statement had been executed in it.
Other As for "A".

Note

This option is not available for execution of actual batch input sessions. There the update is always synchronous.



Addition 3

... OPTIONS FROM opt

Effect

The OPTIONS addition covers the functions of the MODE and UPDATE additions. It provides further options for controlling batch input processing. The control parameters are specified in an opt structure of the type CTU_PARAMS from the ABAP Dictionary. The CTU_PARAMS structure has the components displayed in the following table:
Component Meaning
DISMODE Processing mode for batch input processing. Values as for the MODE addition.
UPMODE Processing mode for batch input processing. Values as for the UPDATE addition.
CATTMODE CATT mode for batch input processing. CATT means Computer Aided Testtool. While batch input is mostly used for data transfer, CATT processes are to be viewed as more complex transactions, since they are reusable tests. Values: " " (no CATT mode), "N" (CATT without single screen control), "A" (CATT with single screen control).
DEFSIZE Selection as to whether the screens of the called transaction are displayed in the standard screen size. Values "X" (standard size), " " (current size).
RACOMMIT Selection as to whether the COMMIT WORK statement terminates batch input processing or not. Values: " " (COMMIT WORK terminates processing), "X" ( COMMIT WORK does not terminate processing).
NOBINPT Selection for the symbol field sy-binpt. Values: " " (sy-binpt contains in the called transaction "X"), "X" (sy-binpt contains in the called transaction " ").
NOBIEND Selection for the system field sy-binpt. Values: " " (sy-binpt contains "X" after the end of the batch input data in the called transsaction ) "X" (sy-binpt contains " " after the end of the batch input data in the called transaction).

Without use of the OPTIONS FROM addition,the values set by the additions MODE or UPDATE or the standard values specified there apply to DISMODE and UPMODE"A". The other components are set to the value " ".


Alterando os parametros o BATCH INPUT não mais é interrompido quando encontra um commit ou a função:   BAPI_TRANSACTION_COMMIT.


mais uma pra coleção,.........abs.




 
Blogger Templates