Professional Documents
Culture Documents
Modificao de Lotes
{{{
*** Agora vem o Programa ***
************************************************************************
*****
M O N S A N T O - PROJETO BIS
*
************************************************************************
***** EMPRESA : DELOITTE CONSULTING
*
*****
*
*** PROGRAMA: Modelo para criao de cargas
*
***** TIPO : Executavel
*
*** AUTOR : Nivea M L Faria
*
*** DATA
: 07/08/2000
*
*** OBS.
:
*
***
*
***
************************************************************************
************************************************************************
*
HISTRICO DAS MODIFICAES
*
************************************************************************
* DATA
CHANGE
AUTOR
DESCRIO
*
************************************************************************
* 14.12.2000 DV2K909910 Nvea Faria
Desenvolvimento inicial
*
* 14.12.2000 DV2K912271 Nvea Faria
Incluso de caractersticas *
* 12.02.2001 DV2K913803 Ernesto Veiga Incluso de caractersticas *
* 05.03.2001 DV2K915396 N. Carramate Acerto de transporte
*
* 06.03.2001 DV2K915618 Ernesto Veiga If nas caractersticas
*
* 06.03.2001 DV2K915641 Ernesto Veiga If nas caractersticas
*
************************************************************************
REPORT ZMMB004 MESSAGE-ID zfase2 LINE-SIZE 85.
************************************************************************
***** Tabelas
************************************************************************
************************************************************************
***** Variaveis
************************************************************************
data: v_tam_matnr
type i,
v_duas_posicoes type char2.
************************************************************************
*
Constante de acerto de layout de dados de entrada.
*
Caso o layout do arquivo de entrada de dados contenha mais de um
*
tipo de registro vc podera formatar os mesmos
************************************************************************
Constants: cc_MSC2N
C_GERMINA
c_teste_frio
C_PUREZA
C_ATESTADO
c_clas_qua
c_peso_liq
************************************************************************
***** Tabelas internas
************************************************************************
*Registro padro da interface
data : BEGIN OF rec ,
MATNR(018),
CHARG(010),
WERKS(004),
LGORT(004),
HSDAT(010),
FZUST(001),
MHD_IO(010),
LWEDT(010),
DATNU(010),
MWERT_01(004),
mwert_02(004),
MWERT_03(006),
MWERT_04(008),
MWERT_05(002),
MWERT_06(005),
END OF rec.
"Material
"Lote
"Centro
"Depsito
"Data da produo
"Estoque para livre utilizao
"Data de vencimento
"Data da ltima entrada de mercadoria
"Data - no usada na MSC2
"% de germinao
"% de teste de frio
"% de pureza
"Atestado de anlise
"Classe de qualidade
"Peso liquido de impresso
************************************************************************
***** Include
************************************************************************
INCLUDE ZBIM_i_DATA_LOAD.
************************************************************************
***** Lista de parmetros
************************************************************************
************************************************************************
***** Inicio da codificao
***** Sub-Rotinas
************************************************************************
*&---------------------------------------------------------------------*
*&
Form PROCESSA_DADOS
*&---------------------------------------------------------------------*
* Rotina onde executado todo o processamento dos dados do sistema
*----------------------------------------------------------------------*
FORM processa_dados.
* Loop principal do programa
LOOP AT t_rec.
*Incrementa o contador de registros
ADD 1 TO conta_reg.
*Preenche a tabela BDC
PERFORM preenche_registro.
ENDLOOP.
ENDFORM.
" PROCESSA_DADOS
*&---------------------------------------------------------------------*
*&
Form PREENCHE_REGISTRO
*&---------------------------------------------------------------------*
* Preenchimento do registro
*
*----------------------------------------------------------------------*
FORM preenche_registro.
REFRESH bdc_tab.
* Aqui entra o bloco vindo da SHDB
perform bloco_shdb_MSC2N.
perform call_transaction using CC_MSC2N.
ENDFORM.
" PREENCHE_REGISTRO
*&---------------------------------------------------------------------*
*&
Form CARREGA_ESTRUT
*&---------------------------------------------------------------------*
* Carrega as tabelas internas do data load a partir da tabela interna
* t_data_load para as outras tabelas que forem necessarias
*----------------------------------------------------------------------*
FORM carrega_estrut.
CLEAR : t_rec, t_erro.
REFRESH : t_rec, t_erro.
FREE
: t_rec, t_erro.
* este trecho carregue todas as tabelas necessarias
t_rec[] = t_data_load[].
ENDFORM.
" CARREGA_ESTRUT
*&---------------------------------------------------------------------*
*&
Form ARQUI_ERRO_ITEM
*&---------------------------------------------------------------------*
* Caso a carga tenha um arquivo do tipo Header --> Item
* Neste ponto carregado para a t_erro os itens
*----------------------------------------------------------------------*
FORM arqui_erro_item.
ENDFORM.
" ARQUI_ERRO_ITEM
*&---------------------------------------------------------------------*
*&
Form bloco_shdb_MSC2N
*&---------------------------------------------------------------------*
FORM bloco_shdb_MSC2N.
perform bdc_dynpro
using 'SAPMM03S'
perform bdc_field
using:
Lote
'RM03S-CHARG'
Centro
'RM03S-WERKS'
Depsito
'RM03S-LGORT'
Enter
'BDC_OKCODE'
*
*
*
*
*
*
perform bdc_dynpro
using 'SAPMM03S'
perform bdc_field
using:
'0105'.
T_REC-CHARG,
T_REC-WERKS,
T_REC-LGORT,
'/00'.
'0200'.
Data da produo
'MCHA-HSDAT'
T_REC-HSDAT,
Estoque de livre utilizao: branco
'RM03S-FZUST'
T_REC-FZUST,
Data de vencimento
'MCHA-VFDAT'
T_REC-MHD_IO,
*
perform bdc_dynpro
using 'SAPLCTMS'
'0109'.
using:
Classe de qualidade - caracterstica
'RCTMS-MNAME(05)' c_clas_qua,
Classe de qualidade - valor
'RCTMS-MWERT(05)' t_rec-mwert_05.
using:
Ao
'BDC_OKCODE'
'=BACK'.
perform bdc_dynpro
using 'SAPMM03S'
'0200'.
perform bdc_field
using: 'BDC_OKCODE'
'=BU'.
ENDFORM.
" bloco_shdb_msc2
************************************************************************