CE PLUS - Nota 011355

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Encerramento de Custo

Data/Hora da Publicação: 26/07/2011 00:00:00

Data/Hora Última Alteração: 07/08/2012 16:04:57

Descrição da Nota: TRATAMENTO DE CAMPOS DE VENDA NA MR22

Sintoma

No pedido de compras, quando a classificação contábil for C, E ou M, abre a pasta de classificação

contábil no detalhe do item para inclusão da ordem do cliente e item.

No momento de fazer a MR22, será necessário incluir estes dois dados.

 

 

 

Solução

Criado tratamento no batch input da mr22 para os campos Doc.Venda e item.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAMENTO DE ESTOQUE ESPECIAL NA MR22

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 11355 Data: 26/07/2011 Hora: 11:28:33

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 11355

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00008

Agrupamento              : 00079

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

09754  - 00001 - 8.0    - 00002  - TRATAMENTO DE ESTOQUE ESPECIAL NA MR22

----------------------------------------------------------------------------------------------------

TRATAMENTO DE CAMPOS DE VENDA NA MR22

----------------------------------------------------------------------------------------------------

Palavras Chave:

VBELN - POSNR - MR22 - CLASSIFICAÇÃO CONTÁBIL - ENCERRAMENTO

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

FUNC /PWS/ZYCI_TRANSACAO_MR22

REPS /PWS/MZYCI010F02

TABD /PWS/ZYCIE031

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_MR22

 

...

 

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MR22

data:

    v_vbeln(30),

    v_vbelp(30).

* << Fim da inclusão

  TABLES: mbew.

  DATA: v_cpep(30) TYPE c,

        v_pep      TYPE prps-posid.

  LOOP AT t_dados.

    CHECK t_dados-tcode = 'MR22'.

    READ TABLE t_zycit031 INDEX 1.

    WRITE t_dados-budat TO v_budat.

    PERFORM bdc_screen USING 'SAPRCKM_MR22' '0201'.

    PERFORM bdc_field  USING:

         'MR21HEAD-BUKRS'   t_dados-bukrs,

         'MR21HEAD-WERKS'   t_dados-werks,

         'MR21HEAD-XBLNR'   t_dados-xblnr,

         'MR21HEAD-BKTXT'   t_dados-bktxt,

         'MR21HEAD-BUDAT'   v_budat,

         'BDC_OKCODE'       '=ENTR'.

    PERFORM bdc_screen USING 'SAPRCKM_MR22' '0201'.

    IF sy-saprl NE '46B'.

      PERFORM bdc_field  USING:

* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MR22

      'MR21HEAD-SCREEN_VARIANT'     'ALLE MATERIALIEN - OHNE BWKEY_'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MR22

      'MR21HEAD-SCREEN_VARIANT'     'ALLE MATERIALIEN_0250'.

* << Fim da inclusão

    ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MR22

    PERFORM bdc_field  USING 'BDC_OKCODE'       '=ENTR'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MR22

    PERFORM bdc_field  USING 'BDC_OKCODE'       '=DUMMY'.

* << Fim da inclusão

    v_srows = sy-srows - 13.

    LOOP AT t_zycit031.

      v_aba = 2.

...

 

...

             WHERE matnr = t_zycit031-matnr.

      IF mbew-bwtty = 'H'.

        PERFORM bdc_screen USING 'SAPRCKM_MR22' '0201'.

        PERFORM bdc_field  USING:

                             v_bwkey                   t_zycit031-werks,

                             v_matnr                         v_matnr_in,

                             v_bwtar                         v_bwtar_in,

                             v_zuumb                         v_wrbtr   ,

                             v_cpep                               v_pep,

                             v_menge                         v_meng2   .

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MR22

        IF NOT t_zycit031-vbeln IS INITIAL.

          CONCATENATE 'CKI_MR22_0250-VBELN' '(' v_cont ')' INTO v_vbeln.

          PERFORM bdc_field  USING v_vbeln t_zycit031-vbeln.

        ENDIF.

        IF NOT t_zycit031-vbelp IS INITIAL.

          CONCATENATE 'CKI_MR22_0250-POSNR' '(' v_cont ')' INTO v_vbelp.

          PERFORM bdc_field  USING v_vbelp t_zycit031-vbelp.

        ENDIF.

* << Fim da inclusão

      ELSE.

        PERFORM bdc_screen USING 'SAPRCKM_MR22' '0201'.

        PERFORM bdc_field  USING:

                           v_bwkey                     t_zycit031-werks,

                           v_matnr                           v_matnr_in,

                           v_bwtar                           v_bwtar_in,

                           v_zuumb                           v_wrbtr   ,

                            v_cpep                                v_pep,

                           v_menge                           v_meng2   .

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MR22

        IF NOT t_zycit031-vbeln IS INITIAL.

          CONCATENATE 'CKI_MR22_0250-VBELN' '(' v_cont ')' INTO v_vbeln.

          PERFORM bdc_field  USING v_vbeln t_zycit031-vbeln.

        ENDIF.

        IF NOT t_zycit031-vbelp IS INITIAL.

          CONCATENATE 'CKI_MR22_0250-POSNR' '(' v_cont ')' INTO v_vbelp.

          PERFORM bdc_field  USING v_vbelp t_zycit031-vbelp.

        ENDIF.

* << Fim da inclusão

      ENDIF.

      PERFORM bdc_field  USING 'BDC_OKCODE'       '=ENTR'.

      DO v_moeda TIMES.

        IF NOT v_moeda IS INITIAL.

          PERFORM bdc_screen USING 'SAPRCKM_MR22' '0201'.

          PERFORM bdc_field  USING:

          'BDC_OKCODE'   v_tab,

  'BDC_SUBSCR'   'SAPRCKM_MR22                            0250MR22_SUB',

          'BDC_CURSOR'   v_matnr .

          IF sy-saprl NE '46B'.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI010F02

 

...

        itab_zycie031_aux-menge    = itab_zycit003-qtd_iten .

        IF itab_zycit003-meins NE itab_mara-meins.

          PERFORM carrega_um USING itab_mara-matnr

                              CHANGING itab_zycit003-meins

                                       itab_zycie031_aux-menge.

        ENDIF.

      ENDIF.

    ENDIF.

    itab_zycie031_aux-ebeln    = itab_zycit003_custo-ebeln.

    itab_zycie031_aux-ebelp    = itab_zycit003_custo-ebelp.

* >> Início da exclusão: FORM GET_PARAMETERS_MR22

    itab_zycie031_aux-wrbtr       = itab_zycit003_custo-vldif .

    itab_zycie031_aux-waers       = wa_zycbt007-waersb.

* << Fim da exclusão

* >> Início da inclusão: FORM GET_PARAMETERS_MR22

    itab_zycie031_aux-wrbtr    = itab_zycit003_custo-vldif .

    itab_zycie031_aux-waers    = wa_zycbt007-waersb.

    IF 'CME' CA itab_material-knttp.

      SELECT SINGLE vbeln vbelp FROM ekkn

      INTO (itab_zycie031_aux-vbeln, itab_zycie031_aux-vbelp)

        WHERE   ebeln = itab_zycit003_custo-ebeln

        AND     ebelp = itab_zycit003_custo-ebelp.

    ENDIF.

* << Fim da inclusão

    APPEND itab_zycie031_aux.

  ENDLOOP.

  FREE itab_zycie031.

  LOOP AT itab_zycie031_aux.

    itab_zycie031-tcode = itab_zycie031_aux-tcode.

    itab_zycie031-tabela = itab_zycie031_aux-tabela.

    itab_zycie031-cpochv = itab_zycie031_aux-cpochv.

    itab_zycie031-werks  = itab_zycie031_aux-werks.

    itab_zycie031-matnr = itab_zycie031_aux-matnr.

    itab_zycie031-bwtar = itab_zycie031_aux-bwtar.

    itab_zycie031-wrbtr = itab_zycie031_aux-wrbtr.

    itab_zycie031-menge = itab_zycie031_aux-menge.

    itab_zycie031-selkz_soll = itab_zycie031_aux-selkz_soll.

    itab_zycie031-selkz_habe = itab_zycie031_aux-selkz_habe.

    itab_zycie031-waers   = itab_zycie031_aux-waers.

    itab_zycie031-ps_psp_pnr = itab_zycie031_aux-ps_psp_pnr.

* >> Início da inclusão: FORM GET_PARAMETERS_MR22

    itab_zycie031-vbeln = itab_zycie031_aux-vbeln.

    itab_zycie031-vbelp = itab_zycie031_aux-vbelp.

* << Fim da inclusão

    COLLECT itab_zycie031.

  ENDLOOP.

ENDFORM.

 

...

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIE031

 

* Criar os campos ao fim da estrutura /PWS/ZYCIE031

 

 

Campos

 

Nome campo Elem.dados    Cat.Dados  Comprimento

 

VBELN    VBELN_CO       CHAR   10

VBELP    POSNR_CO     NUMC       6