• Nenhum resultado encontrado

Manual Jr[Conflito]

N/A
N/A
Protected

Academic year: 2021

Share "Manual Jr[Conflito]"

Copied!
21
0
0

Texto

(1)

CLUSTER:

CLUSTER:

São todas as tabelas que geram os encargos (cálculos) da folha de pagamento.São todas as tabelas que geram os encargos (cálculos) da folha de pagamento.

RUBRICA:

RUBRICA:

São os encargos propriamente ditos (férias, planos, INSS, etc..) na folha deSão os encargos propriamente ditos (férias, planos, INSS, etc..) na folha de pagamento.

pagamento.

PROGRAMA:

PROGRAMA:

ZCM0204ZCM0204

 –

 –

Programa que o relatório ALV usa cor como destaque.Programa que o relatório ALV usa cor como destaque. exemplps

exemplps

FUNÇÃO para ler o CLUSTER:

FUNÇÃO para ler o CLUSTER:

Z_HRCM_PAYROLL_RESULTS_GET. (nesse caso vc está lendoZ_HRCM_PAYROLL_RESULTS_GET. (nesse caso vc está lendo todas as tabelas do CLUSTER.)

todas as tabelas do CLUSTER.)

Tipos de dados standard para tabelas

Tipos de dados standard para tabelas

CHAR = Aceita todos os caracteres com no máximo 255 de comprimento. CHAR = Aceita todos os caracteres com no máximo 255 de comprimento. NUMC= Aceita somente números de no máximo 2

NUMC= Aceita somente números de no máximo 2 55 posições.55 posições. INT4 = Aceita números inteiros de 4bytes Maximo de 10 posições. INT4 = Aceita números inteiros de 4bytes Maximo de 10 posições. DEC = Campo de calculo

DEC = Campo de calculo ou montante com virgula para ou montante com virgula para casas decimais, comprimento Maximocasas decimais, comprimento Maximo de 31 posições.

de 31 posições. String

String

 –

 –

Sem limite de espaço não é possível usar em chave de tabela.Sem limite de espaço não é possível usar em chave de tabela.

Exemplo Elementos de dados

Exemplo Elementos de dados

WERKS = é um char4 “CENTRO” ou “PLANTA.

WERKS = é um char4 “CENTRO” ou “PLANTA.

UNAME =

UNAME = é um

é um char12 “USUÁRIO”.

char12 “USUÁRIO”.

LAND1 = Pai. LAND1 = Pai.

MANDT = n. do mandante. MANDT = n. do mandante. BUKRS = Código Empresa. BUKRS = Código Empresa.

FUNÇÕES

FUNÇÕES

HR_GB_DISPLAY_MASTER_DATA

HR_GB_DISPLAY_MASTER_DATA: Retornar a tela : Retornar a tela anterior (Exibindo). Usando o submit em um anterior (Exibindo). Usando o submit em um infotipo você consegueinfotipo você consegue retornar (back) para o

retornar (back) para o próprio infotipo depois da visualização do submit.próprio infotipo depois da visualização do submit. HR_MASTERDATA_DIALOG

HR_MASTERDATA_DIALOG: Retornar a tela : Retornar a tela anterior (Editando). Usando o submit em um infotipo você consegue retornar anterior (Editando). Usando o submit em um infotipo você consegue retornar  (back) para o próprio

(back) para o próprio infotipo depois da visualização do submitinfotipo depois da visualização do submit 1DK_CALC_YEARS_BETWEEN_DATES

1DK_CALC_YEARS_BETWEEN_DATES: Função para calcular idade.: Função para calcular idade. DATE_CHECK_PLAUSIBILITY

DATE_CHECK_PLAUSIBILITY: função para validar se data está dentro do padrão.: função para validar se data está dentro do padrão. TIME_CHECK_PLAUSIBILITY

TIME_CHECK_PLAUSIBILITY: função para validar se horas está dentro do padrão.: função para validar se horas está dentro do padrão. CONVERT_DATE_TO_INTERNAL:

CONVERT_DATE_TO_INTERNAL: Função para converter data para modelo americano (1999/10/30Função para converter data para modelo americano (1999/10/30 DAY_ATTRIBUTES_GET:

DAY_ATTRIBUTES_GET: Ver dias de feriados.Ver dias de feriados. SAP_CONVERT_TO_C

SAP_CONVERT_TO_CSV_FORMAT = Gera arquivo de saída com ponto SV_FORMAT = Gera arquivo de saída com ponto e virgula no formato csv.e virgula no formato csv. CATS_GET_TARGET_H

CATS_GET_TARGET_HOURS = Trás o calendário de OURS = Trás o calendário de horário de trabalho do funcionário.horário de trabalho do funcionário.

CONVERSION_EXIT_ALPHA_INPUT

CONVERSION_EXIT_ALPHA_INPUT :: preenche espaços com zeros.preenche espaços com zeros. RS_HDSYS_CALL_TC_VARIANT

RS_HDSYS_CALL_TC_VARIANT

'POPUP_WITH_TABLE_DISPLAY_OK' = exibir popup de ok para log.

'POPUP_WITH_TABLE_DISPLAY_OK' = exibir popup de ok para log.

RH_READ_OBJECT = trás descrição da unidade organizacional e outras. RH_READ_OBJECT = trás descrição da unidade organizacional e outras. SO_DOCUMENT

SO_DOCUMENT_SEND_API1 = enviar email _SEND_API1 = enviar email para SAP OFFICE.para SAP OFFICE. TH_POPUP = mensagem para

TH_POPUP = mensagem para usuário.usuário.

RP_CALC_DATE_IN_INTERVAL = Calcula data com formulas. RP_CALC_DATE_IN_INTERVAL = Calcula data com formulas. CALCULATE_DATE = Calcula datas

CALCULATE_DATE = Calcula datas

POPUP_TO_DISPLAY_TEXT = popup com botão continuar.

POPUP_TO_DISPLAY_TEXT = popup com botão continuar.

POPUP_TO_CONFIRM = popup com botões de confirmações.

POPUP_TO_CONFIRM = popup com botões de confirmações.

CALL FUNC

CALL FUNC'SO_DOCUMENT_SEND_API1''SO_DOCUMENT_SEND_API1' DESTINATIONDESTINATION 'NONE' = RFC envia email.'NONE' = RFC envia email. Faz com que o comando GET só preencha os infotipos com os dados do

Faz com que o comando GET só preencha os infotipos com os dados do * Período selecionado na tela

* Período selecionado na tela principal.principal. rp_set_data_inter

rp_set_data_interval 'ALL' val 'ALL' pn-begda pn-endda.pn-begda pn-endda.

Classes / métodos Classes / métodos

CL_GUI_FRO

(2)

COMANDOS:

COMANDOS:

rp-provide-from-last: Coloca em ordem o pernr, pegando o

rp-provide-from-last: Coloca em ordem o pernr, pegando o mais recente.mais recente.

rp-provide-from-rp-provide-from-

last p0001 ‘

last p0001 ‘

subtysubty

’’

begda endda.begda endda. &sap_edit = Incluir registro na se16n

&sap_edit = Incluir registro na se16n SHIFT

SHIFT wa_otimowa_otimo--matrimatri LEFTLEFT DELETINGDELETING LEADINGLEADING '0'. :'0'. : Retirar zeros aRetirar zeros a esquerda.

esquerda.

(EQ, =, NE, <>, ><, GE, >=, LE, <=, GT,

(EQ, =, NE, <>, ><, GE, >=, LE, <=, GT, >, LT, <).>, LT, <).

PROGRAMA MODULO POOL:

PROGRAMA MODULO POOL:

ZPY02155 - Z215011(MM) - ZPCBURZBR0PEFE(Função %PEFEZPY02155 - Z215011(MM) - ZPCBURZBR0PEFE(Função %PEFE

 –

 –

Leitura de Cluster)

Leitura de Cluster)

TRANSAÇÕES

TRANSAÇÕES

SE93 = Criação de transação. SE93 = Criação de transação.

SE11 = Criação de Tabelas, domínios, ajuda de pesquisa, visão de atualização etc. SE11 = Criação de Tabelas, domínios, ajuda de pesquisa, visão de atualização etc. SE16 = Criação de dados.

SE16 = Criação de dados.

SM30 = Atualização de visão de tabela SM30 = Atualização de visão de tabela

SE14 = ABAP dicionário: Utilitário BD, atualização de tabelas. SE14 = ABAP dicionário: Utilitário BD, atualização de tabelas. SM04 = Lista de usuário (Desconectar).

SM04 = Lista de usuário (Desconectar). SM12 = Selecionar entradas de bloqueio. SM12 = Selecionar entradas de bloqueio. SE71 = SAPSCRIPT.

SE71 = SAPSCRIPT.

SE91 = Classe de mensagens. SE91 = Classe de mensagens. SE37 = Modulo de Função. SE37 = Modulo de Função. ZD30 = Cadastrar constantes. ZD30 = Cadastrar constantes. ZD31 = Cadastrar val

ZD31 = Cadastrar valores das contantes. ores das contantes. (usar request custo(usar request customing)ming) SE09 = Alteração de Request.

SE09 = Alteração de Request.

SE24 = Classe Tipo de Objeto. (Criar, exibir e modificar) SE24 = Classe Tipo de Objeto. (Criar, exibir e modificar) SM50 = Processar Visualização.

SM50 = Processar Visualização.

PE04 = Atualização Funções e Operações (Usada para funções HR) PE04 = Atualização Funções e Operações (Usada para funções HR) PC_payresult = Exibição de folha de

PC_payresult = Exibição de folha de pagamento.pagamento. PC00_M37_CALC = Programa de calculo

PC00_M37_CALC = Programa de calculo de folha de pagamento. (Tela de de folha de pagamento. (Tela de seleção)seleção) ST22 = Ver erro de execução (DUMP).

ST22 = Ver erro de execução (DUMP). SU01 = Atualização senha do usuário SAP. SU01 = Atualização senha do usuário SAP. RZ10 =

RZ10 = Processar PefProcessar Pefil. (Webdympril. (Webdympro)o) SU21 = Criar objeto de autorização. SU21 = Criar objeto de autorização. SE30 = Ver performance de programa. SE30 = Ver performance de programa.

STMS_QA = transação para liberar request para produção. STMS_QA = transação para liberar request para produção.

MODULO DE FUNÇÃO PARA ABRIR TRANSAÇÃO

MODULO DE FUNÇÃO PARA ABRIR TRANSAÇÃO

= RS_HDSYS_CALL_TC_VARIANT= RS_HDSYS_CALL_TC_VARIANT

Passo para alteração de senha no SAP

Passo para alteração de senha no SAP

spro ->IMG ref. -> adm.pessoal -> amd.organizacional ->

spro ->IMG ref. -> adm.pessoal -> amd.organizacional -> conf.globais -> adm.autorização ->conf.globais -> adm.autorização -> reg.meste do usiario.

reg.meste do usiario.

CONDIÇÕES

CONDIÇÕES

CA = Contem algum dos caracteres no conteúdo o mesmo podendo ser char ou string. (exp. CA CA = Contem algum dos caracteres no conteúdo o mesmo podendo ser char ou string. (exp. CA

“abcd” o comando verifi

“abcd” o comando verifi

ca se encontra algum das letras, ele pode encontrar uma ou mais )ca se encontra algum das letras, ele pode encontrar uma ou mais ) CO = Contem apenas um caractere de

(3)

encontra um só desses caracteres, ele pode

encontra um só desses caracteres, ele pode encontrar somente um )encontrar somente um ) CN= V1 pode conter caracteres que não estão em v2

CN= V1 pode conter caracteres que não estão em v2

*TERMO

*TERMO

: FieldCat = catalogo de campo, usado para exibir relatório.: FieldCat = catalogo de campo, usado para exibir relatório.

TIPO DE CLASSE

TIPO DE CLASSE

I = Informação I = Informação S = Sucesso S = Sucesso E = Erro E = Erro W =

W = Aviso Aviso = warning= warning

Exemplo Programa de ALV TRI

Exemplo Programa de ALV TRI

::

ZPY141

ZPY141

Exemplo Programa

Exemplo Programa de com MACRO,

de com MACRO, ALV zebrada:

ALV zebrada: ZCM0204

ZCM0204

Logo tipo ALV:

Logo tipo ALV:

* Para criar um

* Para criar um logotipo, deve-se entrar na transação 0FPM002 elogotipo, deve-se entrar na transação 0FPM002 e * preencher: * preencher: * - Classe = PICTURES  * - Classe = PICTURES  * - Objeto = OT  * - Objeto = OT  *

* - - Item Item = = Nome Nome do do ID ID da da figurafigura

Exemplo apresentação de Soma e SubSoma automática

Exemplo apresentação de Soma e SubSoma automática na ALV.

na ALV.

FORM

FORM z_tm_display_alv_report.z_tm_display_alv_report. gd_repid = sy-repid.

gd_repid = sy-repid.

t_sortalv-fieldname = 

t_sortalv-fieldname =  'PERNR''PERNR'.. t_sortalv-tabname = 

t_sortalv-tabname =  't_output''t_output'.. t_sortalv-group = 

t_sortalv-group = 'X''X'.. t_sortalv-subtot = 

t_sortalv-subtot = 'X''X'..  APPEND 

 APPEND t_sortalv.t_sortalv.

CALL FUNCTION

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY''REUSE_ALV_GRID_DISPLAY'

EXPORTING

EXPORTING

i_callback_pr

i_callback_program ogram = = gd_repidgd_repid i_callback_top_of_page =

i_callback_top_of_page = 'Z_TOP_OF_PAGE''Z_TOP_OF_PAGE'

is_layout

is_layout = = gd_layoutgd_layout

it_fieldcat

it_fieldcat = = t_fieldcatalogt_fieldcatalog[][]

i_save =

i_save = 'X''X'

it_sort

it_sort = = t_sortalv[]t_sortalv[]

TABLES

TABLES

t_outtab

t_outtab = = t_outputt_output

EXCEPTIONS EXCEPTIONS program_error = program_error = 11 OTHERS OTHERS == 2.2.

Exemplo de programa.

Exemplo de programa.

tables: zfunc, zcargos. tables: zfunc, zcargos. data: vc_cor(1)

data: vc_cor(1) typetype c,c, v_cargo

v_cargo typetype zcargos-cargo.zcargos-cargo. select-options:

select-options:

s_nome

(4)

s_cargos

s_cargos forfor zfunc-cod_cargozfunc-cod_cargo nono intervals,intervals, s_data

s_data forfor zfunc-data_admi.zfunc-data_admi. select

select ** fromfrom zfunczfunc where

where nomenome inin s_nomes_nome andand cod_cargocod_cargo inin s_cargoss_cargos andand

data_admi

data_admi inin s_data.s_data. select single

select single cargo fromcargo from zcargoszcargos intointo v_cargov_cargo where

where cod_cargo = zfunc-cod_cargo.cod_cargo = zfunc-cod_cargo. *Marcação Zebra.

*Marcação Zebra.

if

if vc_corvc_cor isis initial.initial.

format color col_normal intensified

format color col_normal intensified off.off. vc_cor =

vc_cor = 'x''x'.. else.

else.

format color col_normal intensified

format color col_normal intensified on.on. vc_cor =

vc_cor = ' '' '.. endif.

endif.

write: / zfunc-codfunc, zfunc-nome, zfunc-data_admi,

write: / zfunc-codfunc, zfunc-nome, zfunc-data_admi, 061061 zfunc- zfunc-cod_cargo,

cod_cargo, 071071 v_cargo,v_cargo, 091091 zfunc-salario.zfunc-salario. endselect.

endselect. if

if sy-subrc <>sy-subrc <> 0.0.

message

message w999w999 withwith 'Registro não encontrado.''Registro não encontrado.'(001).(001). endif. endif. *Cabeçalho. *Cabeçalho. top-of-page. top-of-page. write: /

write: / 'Codigo''Codigo',, 'Funcionario''Funcionario',, 049049'Data Admis.''Data Admis.',, 061061'Cod.''Cod.',, 071071'C'C

argo'

argo',, 091091'Salario''Salario'.. uline.

uline.  _____________

 _____________________________________________________________________________________________________________________________________________

Programa de orientação objeto (pecistente)

Programa de orientação objeto (pecistente)

data: vc_cor(1)

data: vc_cor(1) typetype c,c, v_cargo

v_cargo typetype zcargos-cargo,zcargos-cargo, t_001

t_001 type table oftype table of zfunc,zfunc, wa_001

wa_001 typetype zfunc.zfunc. select-options:

select-options:

s_nome

s_nome forfor zfunc-nomezfunc-nome nono intervals,intervals, s_cargos

s_cargos forfor zfunc-cod_cargozfunc-cod_cargo nono intervals,intervals, s_data

s_data forfor zfunc-data_admi.zfunc-data_admi. start-of-selection.

start-of-selection. select

select ** fromfrom zfunc into tablezfunc into table t_001t_001 where

where nomenome inin s_nomes_nome andand cod_cargocod_cargo inin s_cargoss_cargos andand

data_admi

data_admi inin s_data.s_data. *Marcação Zebra.

*Marcação Zebra.

if

if vc_corvc_cor isis initial.initial.

format color col_normal intensified

format color col_normal intensified off.off. vc_cor =

vc_cor = 'x''x'.. else.

else.

format color col_normal intensified

format color col_normal intensified on.on. vc_cor =

vc_cor = ' '' '.. endif.

(5)

end-of-selection. end-of-selection. loop at

loop at t_001t_001 intointo wa_001.wa_001. select single

select single cargo fromcargo from zcargoszcargos intointo v_cargov_cargo where

where cod_cargo = wa_001-cod_cargo.cod_cargo = wa_001-cod_cargo.

write: / wa_001-codfunc, wa_001-nome, wa_001-data_admi,

write: / wa_001-codfunc, wa_001-nome, wa_001-data_admi, 061061 wa_001- wa_001-cod_cargo,

cod_cargo, 071071 v_cargo,v_cargo, 091091 wa_001-salario.wa_001-salario.

endloop. endloop. if

if sy-subrc <>sy-subrc <> 0.0.

message

message w999w999 withwith 'Registro não encontrado.''Registro não encontrado.'(001).(001). endif. endif. *Cabeçalho. *Cabeçalho. top-of-page. top-of-page. write: /

write: / 'Codigo''Codigo',, 'Funcionario''Funcionario',, 049049'Data Admis.''Data Admis.',, 061061'Cod.''Cod.',, 071071'C'C

argo'

argo',, 091091'Salario''Salario'.. uline.

uline.

REPORT

REPORT z_gp_popula_usuarioz_gp_popula_usuario MESSAGE-IDMESSAGE-ID zgp.zgp. TYPE-POOLS: vrm.

TYPE-POOLS: vrm. DATA: t_status_usua

DATA: t_status_usua TYPETYPE osreftab.osreftab. SELECTION-SCREEN BEGIN OF BLOCK

SELECTION-SCREEN BEGIN OF BLOCK b1b1 WITH FRAME TITLEWITH FRAME TITLE text-t01.text-t01. PARAMETERS: p_nome

PARAMETERS: p_nome TYPETYPE zgp002-nome OBLIGATORY,zgp002-nome OBLIGATORY, p_dtnasc

p_dtnasc TYPETYPE zgp002-dt_nasc.zgp002-dt_nasc. SELECTION-SCREEN END OF BLOCK

SELECTION-SCREEN END OF BLOCK b1.b1. SELECTION-SCREEN BEGIN OF BLOCK

SELECTION-SCREEN BEGIN OF BLOCK b2b2 WITH FRAME TITLEWITH FRAME TITLE text-t02.text-t02. PARAMETERS: p_logra

PARAMETERS: p_logra TYPETYPE zgp002-logradouro,zgp002-logradouro, p_numem

p_numem TYPETYPE zgp002-numero,zgp002-numero, p_compl

p_compl TYPETYPE zgp002-complemento,zgp002-complemento, p_bairro

p_bairro TYPETYPE zgp002-bairro,zgp002-bairro, p_cidade

p_cidade TYPETYPE zgp002-cidade,zgp002-cidade, p_estado

p_estado TYPETYPE zgp002-estado,zgp002-estado, p_cep

p_cep TYPETYPE zgp002-cep,zgp002-cep, p_pais

p_pais TYPETYPE zgp002-pais.zgp002-pais. SELECTION-SCREEN END OF BLOCK

SELECTION-SCREEN END OF BLOCK b2.b2. SELECTION-SCREEN BEGIN OF BLOCK

SELECTION-SCREEN BEGIN OF BLOCK b3b3 WITH FRAME TITLEWITH FRAME TITLE text-t03.text-t03. PARAMETERS: p_email

PARAMETERS: p_email TYPETYPE zgp002-email,zgp002-email, p_email2

p_email2 TYPETYPE zgp002-email2,zgp002-email2, p_telef

p_telef TYPETYPE zgp002-telefone,zgp002-telefone, p_telef2

p_telef2 TYPETYPE zgp002-telefone2.zgp002-telefone2. SELECTION-SCREEN END OF BLOCK

(6)

SELECTION-SCREEN BEGIN OF BLOCK

SELECTION-SCREEN BEGIN OF BLOCK b4b4 WITH FRAME TITLEWITH FRAME TITLE text-t04.text-t04. PARAMETERS: p_taxa

PARAMETERS: p_taxa TYPETYPE zgp002-vlr_taxa,zgp002-vlr_taxa, p_status

p_status TYPETYPE zgp012- zgp012-nome

nome ASAS LISTBOX VISIBLE LENGTHLISTBOX VISIBLE LENGTH 5050 OBLIGATORY.OBLIGATORY. SELECTION-SCREEN END OF BLOCK

SELECTION-SCREEN END OF BLOCK b4.b4. INITIALIZATION.

INITIALIZATION. PERFORM

PERFORM z_preenche_status_listbox.z_preenche_status_listbox. START-OF-SELECTION.

START-OF-SELECTION. PERFORM

PERFORM z_insere_dados.z_insere_dados.

*&---*

-*

*&

*& Form Form z_preenche_staz_preenche_status_listbox tus_listbox 

*&---* -* * text * text *---* -* * * --> --> p1 p1 texttext * * <-- <-- p2 p2 texttext *---* -* FORM

FORM z_preenche_status_listbox .z_preenche_status_listbox . CONSTANTS: c_vrm_id

CONSTANTS: c_vrm_id TYPETYPE vrm_idvrm_id VALUEVALUE 'P_STATUS''P_STATUS'.. DATA: o_query_man

DATA: o_query_man TYPE REF TOTYPE REF TO if_os_query_manager,if_os_query_manager, o_query

o_query TYPE REF TOTYPE REF TO if_os_query,if_os_query, o_ca_zgp012

o_ca_zgp012 TYPE REF TOTYPE REF TO if_os_ca_persistency,if_os_ca_persistency, o_zgp012

o_zgp012 TYPE REF TOTYPE REF TO zcl_gp_os_zgp012,zcl_gp_os_zgp012, t_vrm_vl

t_vrm_vl TYPETYPE vrm_values.vrm_values. FIELD-SYMBOLS: <fs_status_usua>

FIELD-SYMBOLS: <fs_status_usua> LIKE LINE OFLIKE LINE OF t_status_usua,t_status_usua, <fs_vrm_vl>

<fs_vrm_vl> LIKE LINE OFLIKE LINE OF t_vrm_vl.t_vrm_vl. * Obtém o gerenciador de queries

* Obtém o gerenciador de queries

o_query_man = cl_os_query_manager=>get_query_manager( ). o_query_man = cl_os_query_manager=>get_query_manager( ).

* Cria uma query para buscar todos os status de usuários (query sem fi

* Cria uma query para buscar todos os status de usuários (query sem fi

ltros)

ltros)

o_query = o_query_man->create_query( ). o_query = o_query_man->create_query( ).

* Obtém o agente da classe de status de usuários

* Obtém o agente da classe de status de usuários

o_ca_zgp012 = zca_gp_os_zgp012=>agent. o_ca_zgp012 = zca_gp_os_zgp012=>agent. * Obtém todos os status de usuários

* Obtém todos os status de usuários

t_status_usua = o_ca_zgp012->get_persistent_by_query( o_query ). t_status_usua = o_ca_zgp012->get_persistent_by_query( o_query ). * Preenche uma tabela com todos os nomes dos status de usuários para a

* Preenche uma tabela com todos os nomes dos status de usuários para a

listbox 

listbox 

LOOP AT

LOOP AT t_status_usuat_status_usua ASSIGNINGASSIGNING <fs_status_usua>.<fs_status_usua>. o_zgp012 ?=

o_zgp012 ?= <fs_status_<fs_status_usua>.usua>. APPEND INITIAL LINE TO

(7)

<fs_vrm_vl>-key = o_zgp012->get_nome( ). <fs_vrm_vl>-key = o_zgp012->get_nome( ).

* Se o status de usuário é o DEFAULT, inicializa a variável de tela

* Se o status de usuário é o DEFAULT, inicializa a variável de tela

IF NOT

IF NOT o_zgp012->get_flg_default( )o_zgp012->get_flg_default( ) ISIS INITIAL.INITIAL. p_status = <fs_vrm_vl>-key. p_status = <fs_vrm_vl>-key. ENDIF. ENDIF. ENDLOOP. ENDLOOP.

* Preenche a listbox com os status de usuários

* Preenche a listbox com os status de usuários

CALL FUNCTION

CALL FUNCTION 'VRM_SET_VALUES''VRM_SET_VALUES'

EXPORTING EXPORTING id id = c_vrm_id= c_vrm_id values values = = t_vrm_vlt_vrm_vl EXCEPTIONS EXCEPTIONS id_illegal_name = id_illegal_name = 11 OTHERS OTHERS == 2.2. ENDFORM.

ENDFORM. " z_preenche_status_listbox " z_preenche_status_listbox 

*&---*

-*

*&

*& Form Form z_insere_dadosz_insere_dados

*&---* -* * text * text *---* -* * * --> --> p1 p1 texttext * * <-- <-- p2 p2 texttext *---* -* FORM

FORM z_insere_dados.z_insere_dados. DATA: o_zgp002

DATA: o_zgp002 TYPE REF TOTYPE REF TO zcl_gp_os_zgp002,zcl_gp_os_zgp002, o_agente

o_agente TYPE REF TOTYPE REF TO zca_gp_os_zgp002,zca_gp_os_zgp002, wa_zgp002

wa_zgp002 TYPETYPE zgp002,zgp002, o_zgp012

o_zgp012 TYPE REF TOTYPE REF TO zcl_gp_os_zgp012.zcl_gp_os_zgp012. FIELD-SYMBOLS: <fs_status_usua>

FIELD-SYMBOLS: <fs_status_usua> LIKE LINE OFLIKE LINE OF t_status_usua.t_status_usua. o_agente =

o_agente = zca_gp_os_zzca_gp_os_zgp002=>agengp002=>agent.t.

o_zgp002 ?= o_agente->if_os_factory~create_persistent( ). o_zgp002 ?= o_agente->if_os_factory~create_persistent( ). *

* o_zgp002->set_o_zgp002->set_nome( nome( p_nome p_nome ).).

*

* o_zgp002->set_o_zgp002->set_logradouro( logradouro( p_logra p_logra ).).

*

* o_zgp002->set_o_zgp002->set_numero( numero( p_numem p_numem ).).

*

* o_zgp002->set_o_zgp002->set_complemento( complemento( p_compl p_compl ).).

*

* o_zgp002->set_o_zgp002->set_bairro( bairro( p_bairro p_bairro ).).

*

* o_zgp002->set_o_zgp002->set_cidade( cidade( p_cidade p_cidade ).).

*

* o_zgp002->set_o_zgp002->set_estado( estado( p_estado p_estado ).).

*

* o_zgp002->o_zgp002->set_cep( set_cep( p_cep p_cep ).).

*

* o_zgp002->set_o_zgp002->set_pais( pais( p_pais p_pais ).).

*

* o_zgp002->set_o_zgp002->set_email( email( p_email p_email ).).

*

* o_zgp002->set_o_zgp002->set_email2( email2( p_email2 p_email2 ).).

*

* o_zgp002->set_o_zgp002->set_telefone( telefone( p_telef p_telef ).).

*

* o_zgp002->o_zgp002->set_telefonset_telefone2( e2( p_telef2 p_telef2 ).).

*

* o_zgp002->o_zgp002->set_dt_nascset_dt_nasc( ( p_dtnasc p_dtnasc ).).

*

* o_zgp002->set_o_zgp002->set_vlr_taxa( vlr_taxa( p_taxa p_taxa ).).

wa_zgp002-nome = p_nome. wa_zgp002-nome = p_nome.

wa_zgp002-logradouro = p_logra. wa_zgp002-logradouro = p_logra.

(8)

wa_zgp002-numero = p_numem. wa_zgp002-numero = p_numem. wa_zgp002-complemento = p_compl. wa_zgp002-complemento = p_compl. wa_zgp002-bairro = p_bairro. wa_zgp002-bairro = p_bairro. wa_zgp002-cidade = p_cidade. wa_zgp002-cidade = p_cidade. wa_zgp002-estado = p_estado. wa_zgp002-estado = p_estado. wa_zgp002-c

wa_zgp002-cep = ep = p_cep.p_cep. wa_zgp002-pais = p_pais. wa_zgp002-pais = p_pais. wa_zgp002-email = p_email. wa_zgp002-email = p_email. wa_zgp002-email2 = p_email2. wa_zgp002-email2 = p_email2. wa_zgp002-telefone = p_telef. wa_zgp002-telefone = p_telef. wa_zgp002-t

wa_zgp002-telefone2 = elefone2 = p_telef2.p_telef2. wa_zgp002-dt_nasc = p_dtnasc. wa_zgp002-dt_nasc = p_dtnasc. wa_zgp002-vlr_taxa = p_taxa. wa_zgp002-vlr_taxa = p_taxa. o_zgp002->map_from_struct( wa_zgp002 ). o_zgp002->map_from_struct( wa_zgp002 ). * Atribui o status para o usuário criado

* Atribui o status para o usuário criado

LOOP AT

LOOP AT t_status_usuat_status_usua ASSIGNINGASSIGNING <fs_status_usua>.<fs_status_usua>. o_zgp012 ?=

o_zgp012 ?= <fs_status_<fs_status_usua>.usua>. IF

IF o_zgp012->get_nome( ) = p_status.o_zgp012->get_nome( ) = p_status. o_zgp002->

o_zgp002->set_cod_staset_cod_status( tus( o_zgp012 ).o_zgp012 ). EXIT. EXIT. ENDIF. ENDIF. ENDLOOP. ENDLOOP. COMMIT

COMMIT WORK.WORK. MESSAGE

MESSAGE s000.s000.

PROGRAMA VALIDAÇÂO RAGE

PROGRAMA VALIDAÇÂO RAGE

CONSTANTS: c_persg

CONSTANTS: c_persg TYPETYPE stringstring VALUEVALUE 'IEQ1;IEQ3;IEQ4;IEQ5;IEQJ;IEQN;IE'IEQ1;IEQ3;IEQ4;IEQ5;IEQJ;IEQN;IE

QW'

QW'.. SPLIT

SPLIT c_persgc_persg ATAT ';'';' INTO TABLEINTO TABLE r_persg1.r_persg1.  _____________

 _____________________________________________________________________________________________________________________________________________ EXEMPLO SUBMIT PARA VISUALIZAR TELA DE O

EXEMPLO SUBMIT PARA VISUALIZAR TELA DE OUTRO PROGRAMA:UTRO PROGRAMA: SUBMIT

SUBMIT z4g3011z4g3011 WITHWITH xnrsolxnrsol EQEQ t_zhr039_aux-lancamento_z4gat_zhr039_aux-lancamento_z4ga ANDAND RETURN.RETURN. ______________________________________________________________________ ______________________________________________________________________

EXEMPLO BATCH INPUT:

EXEMPLO BATCH INPUT:

1 Fazer mapeamento pelo shdb. 1 Fazer mapeamento pelo shdb. 2

2 PERFORM PERFORM bdc_dynpro bdc_dynpro USING 'SAPLMGMM' USING 'SAPLMGMM' '0060'.'0060'. PERFORM

PERFORM bdc_field bdc_field USING USING 'BDC_OKCODE''BDC_OKCODE' '/00'.

'/00'. PERFORM

PERFORM bdc_field bdc_field USING USING 'RMMG1-MATNR''RMMG1-MATNR' t_entrada-codigo. t_entrada-codigo.

PERFORM

PERFORM bdc_dynpro bdc_dynpro USING USING 'SAPLMGMM' 'SAPLMGMM' '0070'.'0070'. PERFORM

PERFORM bdc_field bdc_field USING USING 'BDC_OKCODE''BDC_OKCODE' '=ENTR'.

'=ENTR'. PERFORM

(9)

'X'. 'X'.

PERFORM

PERFORM bdc_dynpro bdc_dynpro USING USING 'SAPLMGMM' 'SAPLMGMM' '4004'.'4004'. PERFORM

PERFORM bdc_field bdc_field USING USING 'BDC_OKCODE''BDC_OKCODE' '=SP02'. '=SP02'. PERFORM

PERFORM bdc_field bdc_field USING USING 'MARA-BISMT''MARA-BISMT'

t_entrada-codigo_antigo. t_entrada-codigo_antigo.

Segundo exemplo de batch input Usando Macro.

Segundo exemplo de batch input Usando Macro.

DATA: x_bdcdata

DATA: x_bdcdata LIKE STANDARD TABLE OFLIKE STANDARD TABLE OF bdcdatabdcdata WITH HEADER LINEWITH HEADER LINE,,

wa_ctu_params

wa_ctu_params TYPETYPE ctu_paramsctu_params..

DEFINE

DEFINE bdcdynpbdcdynp..

clear

clear x_bdcdatax_bdcdata..

x_bdcdata

x_bdcdata--programprogram == &1&1..

x_bdcdata

x_bdcdata--dynprodynpro == &2&2..

x_bdcdata

x_bdcdata--dynbegindynbegin == 'X''X'..

append

append x_bdcdatax_bdcdata..

END-OF-DEFINITION

END-OF-DEFINITION..

DEFINE

DEFINE bdcdatabdcdata..

clear

clear x_bdcdatax_bdcdata..

x_bdcdata

x_bdcdata--fnamfnam == &1&1..

x_bdcdata

x_bdcdata--fvalfval == &2&2..

append

append x_bdcdatax_bdcdata..

END-OF-DEFINITION

END-OF-DEFINITION..

REFRESH

REFRESH x_bdcdatax_bdcdata..

bdcdynp

bdcdynp:: 'SAPMH5A0' '1000''SAPMH5A0' '1000'..

bdcdata

bdcdata:: 'PPHDR-PLVAR''PPHDR-PLVAR' lt_7404lt_7404--plvarplvar,,

'PPHDR-OTYPE'

'PPHDR-OTYPE' lt_7404lt_7404--otypeotype,,

'PM0D1-SEARK'

'PM0D1-SEARK' lt_7404lt_7404--objidobjid,,

'PPHDR-INFTY' '7404'

'PPHDR-INFTY' '7404',,

'PPHDR-ISTAT'

'PPHDR-ISTAT' lt_7404lt_7404--istatistat,,

'PPHDR-BEGDA'

'PPHDR-BEGDA' lt_7404lt_7404--begdabegda,,

'PPHDR-ENDDA'

'PPHDR-ENDDA' lt_7404lt_7404--enddaendda..

bdcdynp

bdcdynp:: 'MP740400' '2000''MP740400' '2000'..

bdcdata

bdcdata:: 'P7404-BEGDA''P7404-BEGDA' lt_7404lt_7404--begdabegda,,

'P7404-ENDDA'

'P7404-ENDDA' lt_7404lt_7404--enddaendda,,

'P7404-EDUCATION_TYPE'

'P7404-EDUCATION_TYPE' lt_7404-lt_7404-education_typeeducation_type,,

'P7404-EDUCATION_FIELD'

'P7404-EDUCATION_FIELD' lt_7404-lt_7404-education_fieldeducation_field ,,

'P7404-INSTITUTE'

'P7404-INSTITUTE' lt_7404lt_7404--instituteinstitute,,

'P7404-COUNTRY'

'P7404-COUNTRY' lt_7404lt_7404--countrycountry..

* PPHDX-ENTRY_IDX'

* PPHDX-ENTRY_IDX'

* record-ENTRY_IDX_015.

* record-ENTRY_IDX_015.

CLEAR

CLEAR:: wa_ctu_paramswa_ctu_params..

wa_ctu_params

wa_ctu_params--dismodedismode == 'A''A'..

wa_ctu_params

wa_ctu_params--updmodeupdmode == 'A''A'..

* Cria um novo IT0008 na data do

* Cria um novo IT0008 na data do acordo coletivoacordo coletivo

CALL TRANSACTION

CALL TRANSACTION 'PA30''PA30'

USING

USING x_bdcdatax_bdcdata OPTIONS

OPTIONS FROMFROM wa_ctu_paramswa_ctu_params..

EXEMPLO PARA RETIRAR CAMPOS DE UMA PNP (banco de

EXEMPLO PARA RETIRAR CAMPOS DE UMA PNP (banco de dados lógicos HR).

dados lógicos HR).

AT SELECTION-SCREEN

AT SELECTION-SCREEN OUTPUT.OUTPUT. LOOP AT

LOOP AT SCREEN.SCREEN. CASE

CASE screen-name.screen-name. WHEN

WHEN 'PNPTIMR1''PNPTIMR1' OROR 'PNPTIMR2''PNPTIMR2' OROR 'PNPTIMR3''PNPTIMR3' OROR

'PNPTIMR4'

'PNPTIMR4' OROR 'PNPTIMR5''PNPTIMR5' OROR

'%FDPS110_1000'

'%FDPS110_1000' OROR '%FBIS113_1000''%FBIS113_1000' OROR

'PNPBEGPS'

'PNPBEGPS' OROR 'PNPENDPS''PNPENDPS'..

screen-input =

(10)

screen-invisible = screen-invisible = 1.1.

MODIFY

MODIFY SCREEN.SCREEN. ENDCASE.

ENDCASE. ENDLOOP. ENDLOOP.

EXEMPLO PARA DEIXAR CAMPO NÃO EDITAVEL, SÓ EXIBIÇÃO.

EXEMPLO PARA DEIXAR CAMPO NÃO EDITAVEL, SÓ EXIBIÇÃO.

LOOP AT SCREEN.

LOOP AT SCREEN.

IF screen

IF screen--namename == 'P_NOM'.'P_NOM'.

screen

screen--inputinput == 0.0.

MODIFY SCREEN. MODIFY SCREEN. ENDIF. ENDIF. ENDLOOP. ENDLOOP. IF

IF p_tranpp_tranp IS INITIAL.IS INITIAL.

CLEAR

CLEAR p_nom.p_nom. ENDIF.

ENDIF.

*Fim

*Fim

Desabilitar campos dependendo do radiobutton selecionado. Desabilitar campos dependendo do radiobutton selecionado.

( o radiobutton precisa ter um user-command para programa report. ( o radiobutton precisa ter um user-command para programa report. P_xxx radiobutton xxx user-command teste. )( programa de exemplo P_xxx radiobutton xxx user-command teste. )( programa de exemplo ZPY0251) ZPY0251) AT SELECTION-SCREEN OUTPUT. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. LOOP AT SCREEN. IF screen

IF screen--namename == 'P_ARQ_S'.'P_ARQ_S'.

IF

IF p_crdbrfp_crdbrf == 'X'.'X'.

screen

screen--inputinput == '0'.'0'.

ELSE.

ELSE.

screen

screen--inputinput == '1'.'1'.

ENDIF. ENDIF. MODIFY SCREEN. MODIFY SCREEN. ENDIF. ENDIF. ENDLOOP. ENDLOOP.

Focar somente no campo que seja obrigatório desabilitando Focar somente no campo que seja obrigatório desabilitando

momentaneamente os outros campos. ( programa de exemplo ZPY0251) momentaneamente os outros campos. ( programa de exemplo ZPY0251) AT SELECTION-SCREEN ON

AT SELECTION-SCREEN ON p_per.p_per. IF

IF p_perp_per IS INITIAL ANDIS INITIAL AND sysy--ucomm <>ucomm <> 'XLOCAL' .'XLOCAL' .

MESSAGE

MESSAGE e999e999 WITH textWITH text--035.035.

ENDIF.

ENDIF.

AT SELECTION-SCREEN ON

AT SELECTION-SCREEN ON p_arq_e.p_arq_e. IF

IF p_arq_ep_arq_e IS INITIAL ANDIS INITIAL AND sysy--ucomm <>ucomm <> 'XLOCAL'.'XLOCAL'.

MESSAGE

MESSAGE e999e999 WITH textWITH text--036.036.

ENDIF.

ENDIF.

---EXEMPLO VISÃO NO REPORT(QUANDO COLOCAR UM CODIGO NO CAMPO ASSIM QUE

EXEMPLO VISÃO NO REPORT(QUANDO COLOCAR UM CODIGO NO CAMPO ASSIM QUE

PRECIOSADO ENTER TRAZ O NOME E

PRECIOSADO ENTER TRAZ O NOME E APRESENTA NA TELA.):

APRESENTA NA TELA.):

AT SELECTION-SCREEN ON

VALUE-AT SELECTION-SCREEN ON VALUE-REQUEST FOR “CAMPO”.REQUEST FOR “CAMPO”.

HABILITAR E DESABILITAR CAMPOS NA TELA DE SELEÇÃO DEPENDENDO DE

HABILITAR E DESABILITAR CAMPOS NA TELA DE SELEÇÃO DEPENDENDO DE

QUAL CHECKBOX FOR MARCADO (REPORT).

QUAL CHECKBOX FOR MARCADO (REPORT).

Programa: Z582071D

Programa: Z582071D

 AT SEL

 AT SELECTION ECTION SCREEN SCREEN  IF

IF cb_mono =cb_mono = ' '' '.. LOOP AT

LOOP AT SCREEN.SCREEN. CASE

CASE screen-name.screen-name. WHEN

WHEN 'P_GUIA''P_GUIA' OROR 'P_TRANP''P_TRANP'.. screen-input =

screen-input = '0''0'.. screen-active =

screen-active = 1.1.

MODIFY

(11)

ENDCASE. ENDCASE. ENDLOOP. ENDLOOP. ELSE. ELSE. LOOP AT

LOOP AT SCREEN.SCREEN. CASE

CASE screen-name.screen-name. WHEN

WHEN 'P_WERKS''P_WERKS'.. screen-input =

screen-input = '0''0'.. MODIFY

MODIFY SCREEN.SCREEN. WHEN

WHEN 'P_DATA''P_DATA'.. screen-input =

screen-input = '0''0'.. MODIFY

MODIFY SCREEN.SCREEN. WHEN

WHEN 'P_TKNUM''P_TKNUM'.. screen-input =

screen-input = '0''0'.. MODIFY

MODIFY SCREEN.SCREEN. WHEN

WHEN 'P_MBLNR''P_MBLNR'.. screen-input =

screen-input = '0''0'.. MODIFY

MODIFY SCREEN.SCREEN. WHEN

WHEN 'P_IMPR''P_IMPR'.. screen-input =

screen-input = '0''0'.. MODIFY

MODIFY SCREEN.SCREEN. ENDCASE. ENDCASE. ENDLOOP. ENDLOOP. ENDIF. ENDIF. ---FUNÇÃO PARA INCLUIR OU EXCLUIR REGISTROS DA TEVEN.

FUNÇÃO PARA INCLUIR OU EXCLUIR REGISTROS DA TEVEN. CALL FUNCTION

CALL FUNCTION 'HR_TMW_DB_UPDATE_TEVENT''HR_TMW_DB_UPDATE_TEVENT'

TABLES

TABLES

del_teven

del_teven == t_teven_ut_teven_u ins_teven

ins_teven == t_teven_it_teven_i del_teven_more

del_teven_more == t_teven_mt_teven_m ins_teven_more

ins_teven_more == t_teven_mt_teven_m EXCEPTIONS EXCEPTIONS insert_failed insert_failed == 11 update_failed update_failed == 22 OTHERS OTHERS == 3.3.

FUNÇÃO GERAR MARCH CODE PARA BUSCA DO Diretório de arquivo (LOCAL OU FUNÇÃO GERAR MARCH CODE PARA BUSCA DO Diretório de arquivo (LOCAL OU SERVIDOR):

SERVIDOR):

F4_DXFILENAME_TOPRECURSION

F4_DXFILENAME_TOPRECURSION

obs: O CAMPO ONDE IRÁ RECEBER O DIRETÓRIO DEVE SER DECLARADO DA 

obs: O CAMPO ONDE IRÁ RECEBER O DIRETÓRIO DEVE SER DECLARADO DA 

SEGUINTE FORMA 

SEGUINTE FORMA 

p_filenamep_filename LIKELIKE dxfieldsdxfields--longpathlongpath DATA: v_onde TYPE c.

DATA: v_onde TYPE c. IF p_server IS INITIAL. IF p_server IS INITIAL.

v_onde = 'P'. " arquivo local v_onde = 'P'. " arquivo local ELSE.

ELSE.

v_onde = 'A'. " arquivo no servidor v_onde = 'A'. " arquivo no servidor ENDIF.

ENDIF.

* Parâmetros da função F4_DXFILENAME_TOPRECURSION: * Parâmetros da função F4_DXFILENAME_TOPRECURSION: *

* i_location_i_location_flagflag

* space --> exibe popup perguntando se o arquivo é local ou no * space --> exibe popup perguntando se o arquivo é local ou no servidor

(12)

* 'P' --> arquivo local * 'P' --> arquivo local

* 'A' --> arquivo no servidor * 'A' --> arquivo no servidor

* i_server (só é relevante se o arquivo for no servidor) * i_server (só é relevante se o arquivo for no servidor) * space --> usa o servidor default

* space --> usa o servidor default

* '?' --> exibe popup perguntando o nome do servidor a ser utilizado * '?' --> exibe popup perguntando o nome do servidor a ser utilizado * fileoperation (só é relevante se i_location_flag = space)

* fileoperation (só é relevante se i_location_flag = space) * 'R' --> exibe popup perguntando "Onde ler o arquivo?" * 'R' --> exibe popup perguntando "Onde ler o arquivo?" * 'W' --> exibe popup perguntando 'Onde gravar o arquivo?" * 'W' --> exibe popup perguntando 'Onde gravar o arquivo?" * o_path --> retorna o caminho a ser usado:

* o_path --> retorna o caminho a ser usado: * 1) pela GUI_DOWNLOAD se for arquivo local ou * 1) pela GUI_DOWNLOAD se for arquivo local ou * 2) pelo OPEN DATASET se for arquivo no servidor * 2) pelo OPEN DATASET se for arquivo no servidor

CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION' CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION' EXPORTING EXPORTING i_location_flag = v_onde i_location_flag = v_onde i_server = space i_server = space fileoperation = 'W' fileoperation = 'W' IMPORTING IMPORTING o_path = p_arq o_path = p_arq EXCEPTIONS EXCEPTIONS rfc_error = 1 rfc_error = 1 error_with_ error_with_gui = gui = 22 OTHERS = 3. OTHERS = 3. IF sy-subrc NE 0. IF sy-subrc NE 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.

ENDIF.

USANDO PROGRAMAÇÃO DINAMICA / Programa ZPY0253

USANDO PROGRAMAÇÃO DINAMICA / Programa ZPY0253

FIELD-SYMBOLS:

FIELD-SYMBOLS: <fs_pernr><fs_pernr> TYPETYPE e_detalhe_crede_detalhe_cred --pernr,pernr, <fs_rubrica>

<fs_rubrica> TYPETYPE e_detalhe_cred -e_detalhe_cred-nrrub,nrrub, <fs_detalhe_cred>

<fs_detalhe_cred> LIKE LINE OFLIKE LINE OF t_detalhe_cred,t_detalhe_cred, <fs_cdret>

<fs_cdret> TYPETYPE e_detalhe_cred -e_detalhe_cred-cdret.cdret. LOOP AT

LOOP AT t_detalhe_credt_detalhe_cred ASSIGNINGASSIGNING <fs_detalhe_cred>.<fs_detalhe_cred>. CLEAR:

CLEAR: vl_mes,vl_mes, vl_ano, vl_ano, vl_contrato, vl_contrato, vl_pernr, vl_pernr, vl_rubrica, vl_rubrica, vl_cdret. vl_cdret.

(13)

vl_pernr

vl_pernr == 'PERNR'.'PERNR'.

vl_rubrica

vl_rubrica == 'NRRUB'.'NRRUB'.

vl_cdret

vl_cdret == 'CDRET'.'CDRET'.

* Mês e Ano.

* Mês e Ano.

vl_mes

vl_mes == <fs_detalhe_cred><fs_detalhe_cred> --anomes+4anomes+4((22).).

vl_ano

vl_ano == <fs_detalhe_cred><fs_detalhe_cred> --anomes+0anomes+0((44).).

* Numero do

* Numero do contratocontrato

CONCATENATE

CONCATENATE <fs_detalhe_cred><fs_detalhe_cred>--numemp <fs_detalhe_cred>numemp <fs_detalhe_cred>--seqempseqemp INTO

INTO vl_contrato.vl_contrato.

* Verificando Titular ou Avalista - Inválido ou desligado.

* Verificando Titular ou Avalista - Inválido ou desligado.

DO

DO 66 TIMES.TIMES.

vl_index

vl_index == sysy--index.index.

ASSIGN COMPONENT

ASSIGN COMPONENT vl_pernr OF STRUCTUREvl_pernr OF STRUCTURE <fs_detalhe_cred><fs_detalhe_cred> TOTO <fs_<fs_ pernr>.

pernr>. IF

IF sysy--subrcsubrc == 00 ANDAND <fs_pernr><fs_pernr> IS NOT INITIAL.IS NOT INITIAL.

CLEAR

CLEAR wa_saida.wa_saida. wa_saida

wa_saida--cdbancocdbanco == 'CREDIBRF'.'CREDIBRF'.

wa_saida

wa_saida--cdpernrcdpernr == <fs_pernr>.<fs_pernr>. wa_saida

wa_saida--cdcontratocdcontrato == vl_contrato.vl_contrato. wa_saida

wa_saida--dtanodtano == vl_ano.vl_ano. wa_saida

wa_saida--dtmesdtmes == vl_mes.vl_mes. ASSIGN COMPONENT

ASSIGN COMPONENT vl_rubricavl_rubrica OF STRUCTUREOF STRUCTURE <fs_detalhe_cred><fs_detalhe_cred> TOTO

<fs_rubrica>. <fs_rubrica>.

IF

IF sysy--subrc =subrc = 0.0.

wa_saida

wa_saida--cdlgartcdlgart == <fs_rubrica>.<fs_rubrica>. ENDIF.

ENDIF.

wa_saida

wa_saida--vlnumparcvlnumparc == <fs_detalhe_cred><fs_detalhe_cred> --parcob.parcob. wa_saida

wa_saida--qtparcelaqtparcela == <fs_detalhe_cred><fs_detalhe_cred> --numpar.numpar. vl_campo

vl_campo == <fs_detalhe_cred><fs_detalhe_cred> --vlrfun.vlrfun. WRITE

WRITE vl_campo TOvl_campo TO <fs_detalhe_cred><fs_detalhe_cred>-

-vlrfun

vlrfun CURRENCYCURRENCY 'BRL''BRL' DECIMALSDECIMALS 2.2.

CONDENSE

CONDENSE <fs_detalhe_cred><fs_detalhe_cred> --vlrfun NOvlrfun NO--GAPS.GAPS. REPLACE ALL OCCURRENCES OF

REPLACE ALL OCCURRENCES OF '.''.' ININ <fs_detalhe_cred><fs_detalhe_cred> -

-vlrfun

vlrfun WITHWITH ''.''.

REPLACE ALL OCCURRENCES OF

REPLACE ALL OCCURRENCES OF ','',' ININ <fs_detalhe_cred><fs_detalhe_cred> -

-vlrfun

vlrfun WITHWITH '.'.'.'.

wa_saida

wa_saida--vlparcelavlparcela == <fs_detalhe_cred><fs_detalhe_cred> --vlrfun.vlrfun. wa_saida

wa_saida--vlsaldodvdvlsaldodvd == '0'.'0'.

READ TABLE

READ TABLE lt_0003lt_0003 INTOINTO wa_0003wa_0003 WITH KEYWITH KEY pernrpernr == <fs_pernr>.<fs_pernr>. IF

IF sysy--subrc =subrc = 00 ANDAND vl_pernrvl_pernr == 'PERNR'.'PERNR'.

wa_saida

wa_saida--desitempdesitemp == 'Funcionário não encontrado'.'Funcionário não encontrado'.

wa_saida

wa_saida--cdmotivstcdmotivst == '04'.'04'.

MODIFY

MODIFY zhr137zhr137 FROMFROM wa_saida.wa_saida. ELSEIF

ELSEIF sysy--subrcsubrc == 00 ANDAND vl_pernr <> 'PERNR'.vl_pernr <> 'PERNR'.

wa_saida

wa_saida--desitempdesitemp == 'Avalista não encontrado'.'Avalista não encontrado'.

wa_saida

(14)

MODIFY

MODIFY zhr137zhr137 FROMFROM wa_saida.wa_saida. ELSE.

ELSE.

READ TABLE

READ TABLE lt_0000lt_0000 INTOINTO wa_0000wa_0000 WITH KEYWITH KEY pernrpernr == <fs_detalhe<fs_detalhe _cred>

_cred>--pernr.pernr. IF

IF sysy--subrcsubrc == 00 ANDAND vl_pernrvl_pernr == 'PERNR'.'PERNR'.

wa_saida

wa_saida--desitempdesitemp == 'Funcionário demitido'.'Funcionário demitido'.

wa_saida

wa_saida--cdmotivstcdmotivst == '05'.'05'.

MODIFY

MODIFY zhr137zhr137 FROMFROM wa_saida.wa_saida. ELSEIF

ELSEIF sysy--subrcsubrc == 00 ANDAND vl_pernr <>vl_pernr <> 'PERNR'.'PERNR'.

wa_saida

wa_saida--desitempdesitemp == 'Avalista demitido'.'Avalista demitido'.

wa_saida

wa_saida--cdmotivstcdmotivst == '05'.'05'.

MODIFY

MODIFY zhr137zhr137 FROMFROM wa_saida.wa_saida. ELSE.

ELSE.

ASSIGN COMPONENT

ASSIGN COMPONENT vl_cdretvl_cdret OF STRUCTUREOF STRUCTURE <fs_detalhe_cred><fs_detalhe_cred> TT

O

O <fs_cdret>.<fs_cdret>. IF

IF sysy--subrcsubrc == 0.0.

<fs_cdret> <fs_cdret> == '01'.'01'. ENDIF. ENDIF. ENDIF. ENDIF. ENDIF. ENDIF. ENDIF. ENDIF. vl_pernr+5

vl_pernr+5((11) =) = vl_index.vl_index. vl_rubrica+5

vl_rubrica+5((11) =) = vl_index.vl_index. vl_cdret+5

vl_cdret+5((11) =) = vl_index.vl_index. ENDDO.

ENDDO.

LER ARQUIVO EXCEL:

LER ARQUIVO EXCEL:

* Funçoes para gerar arquivo excel* Funçoes para gerar arquivo excel CALL

CALL FUNCTION 'SAP_CONVERT_TO_XLS_FFUNCTION 'SAP_CONVERT_TO_XLS_FORMAT'ORMAT' EXPORTING EXPORTING i_filename = p_dwload i_filename = p_dwload TABLES TABLES i_tab_sap_data = tab_excel i_tab_sap_data = tab_excel EXCEPTIONS EXCEPTIONS conversion_faile conversion_failed = d = 11 OTHERS = 2. OTHERS = 2. IF sy-subrc <> 0. IF sy-subrc <> 0. * MESSAGE ID

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOSY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 S

* WITH SY-MSGV1 SY-MSGV2 S Y-MSGV3 SY-MSGV4.Y-MSGV3 SY-MSGV4. ENDIF.

ENDIF. CALL

CALL FUNCTION 'MS_EXCEL_OLE_STANDARDFUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'_DAT' EXPORTING EXPORTING file_name = p_dwload file_name = p_dwload data_sheet_name = sheet_name data_sheet_name = sheet_name TABLES TABLES data_tab = tab_excel data_tab = tab_excel EXCEPTIONS EXCEPTIONS file_not_exist = 1 file_not_exist = 1 filename_expec filename_expected = ted = 22 communication_e communication_error = rror = 33 ole_object_meth ole_object_method_error = od_error = 44 ole_object_property ole_object_property_error = _error = 55 invalid_filena invalid_filename = me = 66 invalid_pivot_fiel invalid_pivot_fields = ds = 77 download_proble download_problem = m = 88 OTHERS = 9. OTHERS = 9.

(15)

*Função para ler planilha excel *Função para ler planilha excel * Carregar a

* Carregar a planilha do excel Func com Escalas Turmasplanilha do excel Func com Escalas Turmas CALL

CALL FUNCTION 'TEXT_CONVERT_XLS_TFUNCTION 'TEXT_CONVERT_XLS_TO_SAP'O_SAP' EXPORTING EXPORTING i_line_header = 'X' i_line_header = 'X' i_tab_raw_data = it_raw i_tab_raw_data = it_raw i_filename = p_uploa1 i_filename = p_uploa1 TABLES TABLES i_tab_converted_

i_tab_converted_data = data = t_func_esct_func_esc EXCEPTIONS EXCEPTIONS conversion_faile conversion_failed = d = 11 OTHERS = 2. OTHERS = 2. * Lê 2 arquivo * Lê 2 arquivo CALL

CALL FUNCTION 'ZALSM_EXCEL_TO_INTERNFUNCTION 'ZALSM_EXCEL_TO_INTERNAL_TABLE'AL_TABLE' EXPORTING EXPORTING filename = p_uploa2 filename = p_uploa2 i_begin_col = 1 i_begin_col = 1 i_begin_row = 1 i_begin_row = 1 i_end_col = 14 i_end_col = 14 i_end_row = 999999 i_end_row = 999999 TABLES TABLES intern = t_excel intern = t_excel EXCEPTIONS EXCEPTIONS inconsistent_pa inconsistent_parameters = rameters = 11 upload_ole = 2 upload_ole = 2 OTHERS = 3. OTHERS = 3.

Quando o campo for numérico o excel ignora os zeros a esquerda e direita tem q concatenar uma aspas simples para o excel Quando o campo for numérico o excel ignora os zeros a esquerda e direita tem q concatenar uma aspas simples para o excel considerar como caracter o campo

considerar como caracter o campo CONCATENATE ''''

CONCATENATE '''' wa_arquivo-iwa_arquivo-inter INTO nter INTO wa_ine_excel-wa_ine_excel-f2.f2.

 Para todo tipo de datos:Para todo tipo de datos: EQ

EQ óó ==,, NENE óó <><> ó ><,ó ><, LTLT ó <,ó <, LELE ó <=,ó <=, GTGT ó >,ó >, GEGE ó >=.ó >=. 

 Para tipos alfanuméricos y Para tipos alfanuméricos y numéricos:numéricos: Se usan

Se usan para comparaciopara comparaciones, aparte de nes, aparte de los anteriores.los anteriores. COCO (contiene sólo ...),(contiene sólo ...), CNCN (no contiene sólo(no contiene sólo ...),

...), CACA (contiene algún ...),(contiene algún ...), NANA (no contiene algún ...) ,(no contiene algún ...) , CSCS (contiene el string ...),(contiene el string ...), NSNS (no contiene el(no contiene el string ...),

string ...), CPCP (contiene el pattern ...),(contiene el pattern ...), NPNP (no contiene el (no contiene el pattern ...).pattern ...). 

 Para bits:Para bits: O

O (los bits son "1"),(los bits son "1"), ZZ (los bits son "0"),(los bits son "0"), MM (los bits son "0" y "1").(los bits son "0" y "1"). 

 Operaciones lógicas especiales:Operaciones lógicas especiales: Rango:

Rango: operando1operando1 BETWEENBETWEEN operando2operando2 ANDANDoperando3. Los valores límite del rango[ operando1,operando3. Los valores límite del rango[ operando1, operando2 ] son inclusive. Esta operación lógica devuelve cierto sí

operando2 ] son inclusive. Esta operación lógica devuelve cierto sí y sólo sí y sólo sí operando2 <= operando1operando2 <= operando1 <= operando3. <= operando3.

Tratando exceção

Tratando exceção

TRY TRY .. l_num

l_num == s_linhas+l_posits_linhas+l_posit ((44).).

IF NOT

IF NOT s_linhas+l_posits_linhas+l_posit ((44)) ININ s_cats_cat..

RAISE

RAISE EXCEPTION cx_sy_conversion_no_numberEXCEPTION cx_sy_conversion_no_number..

ENDIF

ENDIF..

CATCH

CATCH cx_sy_conversion_no_numbercx_sy_conversion_no_number ..

l_tabix

l_tabix == sysy--tabixtabix..

DELETE

DELETE t_linhast_linhas INDEXINDEX l_tabixl_tabix..

CONTINUE CONTINUE.. ENDTRY ENDTRY..

---** Separar por ;

** Separar por ; tabela alimentação

tabela alimentação.

.

*

* IF

IF t_saida_ali

t_saida_ali IS

IS NOT

NOT INITIAL.

INITIAL.

*

(16)

*

*

CALL

CALL FUNCTION

FUNCTION 'SAP_CONVERT_

'SAP_CONVERT_TO_CSV_FORMAT

TO_CSV_FORMAT'

'

*

EXPORTING

*

EXPORTING

*

*

i_field_sepe

i_field_seperator

rator

=

= vl_ponto

vl_ponto

**

**

I_LINE_HEADE

I_LINE_HEADER

R

=

=

*

*

i_filename

i_filename

=

= vl_file_ali_au

vl_file_ali_aux

x

 Append

 Append

= 'X'

= 'X'

**

**

I_APPL_KEEP

I_APPL_KEEP

=

= '

' '

'

*

TABLES

*

TABLES

*

*

i_tab_sap_da

i_tab_sap_data

ta

=

= t_export_ali.

t_export_ali.

* ENDIF.

* ENDIF.

** Separar por ;

** Separar por ; tabela refeição.

tabela refeição.

*

* IF

IF t_saida_ref

t_saida_ref IS

IS NOT

NOT INITIAL.

INITIAL.

*

*

MOVE

MOVE t_saida_ref

t_saida_ref TO

TO t_export_ref.

t_export_ref.

*

*

CALL

CALL FUNCTION

FUNCTION 'SAP_CONVERT_

'SAP_CONVERT_TO_CSV_FORMAT

TO_CSV_FORMAT'

'

*

EXPORTING

*

EXPORTING

*

*

i_field_sepe

i_field_seperator

rator

=

= vl_ponto

vl_ponto

**

**

I_LINE_HEADE

I_LINE_HEADER

R

=

=

*

*

i_filename

i_filename

=

= vl_file_ref_au

vl_file_ref_aux

x

**

**

I_APPL_KEEP

I_APPL_KEEP

=

= '

' '

'

*

TABLES

*

TABLES

*

*

i_tab_sap_da

i_tab_sap_data

ta

=

= t_export_ref.

t_export_ref.

*

*

IF

IF sy-subrc

sy-subrc <>

<> 0.

0.

*

*

MESSAGE

MESSAGE ID

ID sy-msgid

sy-msgid TYPE

TYPE sy-msgty

sy-msgty NUMBER

NUMBER sy-msgno

sy-msgno

*

*

WITH

WITH sy-msgv1

sy-msgv1 sy-msgv2

sy-msgv2 sy-msgv3

sy-msgv3 sy-msgv4.

sy-msgv4.

*

ENDIF.

*

ENDIF.

* ENDIF.

* ENDIF.

*Macro que INFOTYPE OPERATION *Macro que INFOTYPE OPERATION DEFINE

DEFINE mc_hr_infotype_mc_hr_infotype_operation.operation. data wa_return_aux type bapireturn1 . data wa_return_aux type bapireturn1 . call

call function 'BAPI_EMPLOYEE_ENQUEUE'function 'BAPI_EMPLOYEE_ENQUEUE' exporting exporting number = &2 number = &2 importing importing return =

return = wa_return_auxwa_return_aux.. if wa_return_aux-type eq 'E'. if wa_return_aux-type eq 'E'. message e593(zhr) with &2 . message e593(zhr) with &2 . endif.

endif. call

call function 'HR_INFOTYPE_OPERATIONfunction 'HR_INFOTYPE_OPERATION'' exporting

(17)

infty = &1 infty = &1 number = &2 number = &2 subtype = &3 subtype = &3 validityend = &4 validityend = &4 validitybegin = &5 validitybegin = &5 record = &6 record = &6 operation = &7 operation = &7 recordnumber = &8 recordnumber = &8 importing importing return =

return = wa_return_auxwa_return_aux.. call function

call function 'BAPI_EMPLOYEE_DEQU'BAPI_EMPLOYEE_DEQUEUE'EUE' exporting exporting number = &2. number = &2. commit work. commit work. if wa_return_aux-type eq 'E' or

if wa_return_aux-type eq 'E' or wa_return_aux-tywa_return_aux-type eq 'A'.pe eq 'A'.

message s256(zhr) with wa_return_aux-message &1 display like 'E'. message s256(zhr) with wa_return_aux-message &1 display like 'E'. else. else. message s429(zhr). message s429(zhr). endif. endif. END-OF-DEFINITION. END-OF-DEFINITION. CHAMADA DA MACRO

CHAMADA DA MACRO = mc_hr_infotype_operation c_0007 wa_func-pernr space l_p0007-endda l_p0007-begda= mc_hr_infotype_operation c_0007 wa_func-pernr space l_p0007-endda l_p0007-begda l_p0007 c_ins 0.

l_p0007 c_ins 0.

Lógica p/ ler RGDIR no período selecionado. (RGDIR = verificação se o

Lógica p/ ler RGDIR no período selecionado. (RGDIR = verificação se o

funcionário tem cluster para ler no perid.selecionado, isso evita ler

funcionário tem cluster para ler no perid.selecionado, isso evita ler

cluster sem necessidade.

cluster sem necessidade.

CONSTANTS

CONSTANTS:: c_actual_recordc_actual_record LIKELIKE pc261pc261--srtzasrtza VALUEVALUE 'A''A'..

* Define RGDIR auxiliar tables.

* Define RGDIR auxiliar tables.

DEFINE

DEFINE def_rgdirdef_rgdir..

data

data:: begin ofbegin of &1&1 occursoccurs 5050..

include structure

include structure pc261pc261..

data

data:: end ofend of &1&1..

END-OF-DEFINITION

END-OF-DEFINITION..

* Define AUX_RT table

* Define AUX_RT table

DATA

DATA aux_rtaux_rt LIKELIKE rtrt OCCURSOCCURS 150150 WITH HEADER LINEWITH HEADER LINE..

* Define the RGDIR tables result of the functions

* Define the RGDIR tables result of the functions

def_rgdir rgdir_selected_dates def_rgdir rgdir_selected_dates..

p_cls_retu

p_cls_retu == 00..

* Function

* Function CU_READ_RGDCU_READ_RGDIRIR

CALL FUNCTION

CALL FUNCTION 'CU_READ_RGDIR''CU_READ_RGDIR'

EXPORTING

EXPORTING

persnr

persnr == p_pernr_pernrp_pernr_pernr TABLES

TABLES

in_rgdir

in_rgdir == rgdirrgdir

EXCEPTIONS EXCEPTIONS no_record_found no_record_found == 11 OTHERS OTHERS == 22.. IF

IF sysy--subrcsubrc NENE 00..

p_cls_retu

p_cls_retu == pbr99_errorpbr99_error..

ENDIF ENDIF.. * Cd_select_void function * Cd_select_void function IF IF p_cls_retup_cls_retu == 00.. CALL FUNCTION

CALL FUNCTION 'CD_READ_DATE_RANGE_ACTUAL_NV''CD_READ_DATE_RANGE_ACTUAL_NV'

EXPORTING

EXPORTING

begda

begda == p_d_fromp_d_from endda

(18)

TABLES

TABLES

rgdir_in

rgdir_in == rgdirrgdir rgdir_out

rgdir_out == rgdir_selected_datesrgdir_selected_dates ..

ENDIF ENDIF.. * cd_select_srtza * cd_select_srtza IF IF p_cls_retup_cls_retu == 00.. CALL FUNCTION

CALL FUNCTION 'CD_SELECT_SRTZA''CD_SELECT_SRTZA'

EXPORTING

EXPORTING

record_type

record_type == c_actual_recordc_actual_record TABLES

TABLES

in_rgdir

in_rgdir == rgdir_selected_datesrgdir_selected_dates out_rgdir

out_rgdir == new_rgdirnew_rgdir EXCEPTIONS

EXCEPTIONS

OTHERS

OTHERS == 11..

IF

IF sysy--subrcsubrc NENE 00..

p_cls_retu p_cls_retu == 44.. ENDIF ENDIF.. ENDIF ENDIF..

 Macro para A

 Macro para A

LV.

LV.

DEFINE

DEFINE cria_field_catcria_field_cat ..

fieldcatalog

fieldcatalog--fieldnamefieldname == &1&1..

fieldcatalog

fieldcatalog--seltext_mseltext_m == &2&2..

fieldcatalog

fieldcatalog--col_poscol_pos == &3&3..

fieldcatalog

fieldcatalog--outputlenoutputlen == &4&4..

fieldcatalog

fieldcatalog--emphasizeemphasize == &5&5..

fieldcatalog

fieldcatalog--editedit == &6&6..

append

append fieldcatalogfieldcatalog toto fieldcatalogfieldcatalog..

clear

clear fieldcatalogfieldcatalog..

END-OF-DEFINITION

END-OF-DEFINITION..

DATA

DATA:: fieldcatalogfieldcatalog TYPETYPE slis_t_fieldcat_alvslis_t_fieldcat_alv WITH HEADER LINEWITH HEADER LINE,,

gd_layout

gd_layout TYPETYPE slis_layout_alvslis_layout_alv..

cria_field_cat

cria_field_cat 'OBJECT_ID' 'OBJECT_ID' 'Obj_Id''Obj_Id' 1 101 10 'X' 'X''X' 'X'..

cria_field_cat

cria_field_cat 'DESCRIPTION' 'Descrição''DESCRIPTION' 'Descrição' 2 202 20 'X' 'X''X' 'X'..

cria_field_cat

cria_field_cat 'DATE1' 'DATE1' 'Data1''Data1' 3 103 10 'X' 'X''X' 'X'..

cria_field_cat

cria_field_cat 'DATE2' 'DATE2' 'Data2''Data2' 4 104 10 'X' 'X''X' 'X'..

cria_field_cat

cria_field_cat 'STATUS' 'STATUS' 'Status''Status' 5 155 15 'X' 'X''X' 'X'..

cria_field_cat

cria_field_cat 'RESPONSAVEL' 'Responsavel''RESPONSAVEL' 'Responsavel' 6 106 10 'X' 'X''X' 'X'..

cria_field_cat

cria_field_cat 'DESCRICAO' 'DESCRICAO' 'Descrição''Descrição' 7 107 10 'X' 'X''X' 'X'..

gd_layout

gd_layout--no_inputno_input == 'X''X'..

gd_layout

gd_layout--colwidth_optimizecolwidth_optimize == 'X''X'..

gd_layout

gd_layout--header_textheader_text == 'Tarefas''Tarefas'..

Obter campo "condição de pagamento" da tela.

Obter campo "condição de pagamento" da tela.

FIELD-SYMBOLS <FS_ZTERM> TYPE ANY.

FIELD-SYMBOLS <FS_ZTERM> TYPE ANY.

FIELD-SYMB

FIELD-SYMBOLS <FS_BLDAT> TYPE

OLS <FS_BLDAT> TYPE ANY.

ANY.

* Obter campo "condição de pagamento" da tela.

* Obter campo "condição de pagamento" da tela.

 ASSIGN ('(SAP

 ASSIGN ('(SAPLFDCB)INVFO-Z

LFDCB)INVFO-ZTERM') TO <FS

TERM') TO <FS_ZTERM>.

_ZTERM>.

* Obter campo "data da fatura" da tela.

(19)

ASSIGN ('(SAPLFDCB)INVFO-BLDAT') TO <FS_BLDAT>.

ASSIGN ('(SAPLFDCB)INVFO-BLDAT') TO <FS_BLDAT>.

* Obter campo "empresa" da tela.

* Obter campo "empresa" da tela.

GET PARAMETER ID 'BUK' FIELD v_bukrs.

GET PARAMETER ID 'BUK' FIELD v_bukrs.

Função para pegar campos da tela.

Função para pegar campos da tela.

Exemplo.

Exemplo.

 MOVE input T

 MOVE input TO v_mktl.

O v_mktl.

v_campo = 'RM06E-EPSTP'.

v_campo = 'RM06E-EPSTP'.

v_prog

v_prog =

= sy-cprog.

sy-cprog.

v_tela

v_tela =

= sy-dynnr.

sy-dynnr.

v_num = STRLEN( v_mktl ).

v_num = STRLEN( v_mktl ).

CALL FUNCTION 'GET_DYNP_VALUE'

CALL FUNCTION 'GET_DYNP_VALUE'

EXPORTING

EXPORTING

i_field = v_campo

i_field = v_campo

i_repid = v_prog

i_repid = v_prog

i_dynnr = v_tela

i_dynnr = v_tela

CHANGING

CHANGING

o_value = v_campo1.

o_value = v_campo1.

Programa ZSUFIR_ZMRE3 de modelo: Opção de Layout de ALV na tela de

Programa ZSUFIR_ZMRE3 de modelo: Opção de Layout de ALV na tela de

seleção.

seleção.

DATA

DATA: wa_variant: wa_variant TYPETYPE disvariant.disvariant. AT

AT SELECTION-SELECTION-SCREENSCREEN ONON VALUEVALUE-REQUEST-REQUEST FORFOR p_layout.p_layout. PERFORM

PERFORM f_layout_alv.f_layout_alv. FORM

FORM f_layout_alv.f_layout_alv.

wa_variant-wa_variant-reportreport = sy-repid.= sy-repid. CALL

CALL FUNCTIONFUNCTION 'REUSE_ALV_VARIANT_F4''REUSE_ALV_VARIANT_F4'

EXPORTING

EXPORTING

is_variant

is_variant = = wa_variantwa_variant

i_save =

i_save = 'A''A'

IMPORTING

IMPORTING

es_variant

es_variant = = wa_variantwa_variant EXCEPTIONS

EXCEPTIONS

AT

AT SELECTION-SELECTION-SCREENSCREEN..

wa_variant-variant = p_layout. wa_variant-variant = p_layout.

Preencher com zeros a

Preencher com zeros a esquerda.

esquerda.

SHIFT

SHIFT vteste RIGHT DELETING TRAILING SPACE.vteste RIGHT DELETING TRAILING SPACE. OVERLAY

OVERLAY vtestevteste WITHWITH '0000''0000'..

Select dinâmico.

Select dinâmico.

(20)

DATA

DATA: vl_line(: vl_line(7272)) TYPETYPE cc,, vl_list

vl_list LIKELIKE TABLETABLE OFOF lineline..

* Obter mês para buscar valores correspondentes.

* Obter mês para buscar valores correspondentes.

CONCATENATE

CONCATENATE vg_fix p_perid+1vg_fix p_perid+1((22)) INTOINTO vg_mes.vg_mes. * Monta campos dinâmicos para seleção.

* Monta campos dinâmicos para seleção.

vl_line =

vl_line = 'OBJNR''OBJNR'.. vl_line+

vl_line+66 = vg_mes.= vg_mes. APPEND

APPEND vl_linevl_line TOTO vl_list.vl_list.

* Selecionar Oobjeto CO: totais de custos - lançamentos externos

* Selecionar Oobjeto CO: totais de custos - lançamentos externos

SELECT

SELECT (vl_list)(vl_list) FROM

FROM cospcosp INTO

INTO TABLETABLE t_cospt_cosp WHERE

WHERE ( objnr( objnr LIKELIKE 'KS%''KS%'

OR

OR objnrobjnr LIKELIKE 'OR%''OR%' )) AND

AND ( gjahr = p_exerc( gjahr = p_exerc AND

AND wrttp = p_wrttpwrttp = p_wrttp AND

AND versn = p_versao ).versn = p_versao ).

POSICIONAR CAMPOS LATERAIS NA TELA DE SELEÇÃO.

POSICIONAR CAMPOS LATERAIS NA TELA DE SELEÇÃO.

SELECTION-SELECTION-SCREENSCREEN BEGINBEGIN OFOF LINELINE..

SELECTION-SELECTION-SCREENSCREEN POSITIONPOSITION 0101.. PARAMETERS

PARAMETERS rb_alvrb_alv RADIOBUTTONRADIOBUTTON GROUPGROUP a2.a2.

SELECTION-SELECTION-SCREENSCREEN COMMENTCOMMENT 0303((1010)) FORFOR FIELDFIELD rb_alv.rb_alv.

SELECTION-SELECTION-SCREENSCREEN COMMENTCOMMENT 2525((0707)) FORFOR FIELDFIELD p_layout.p_layout. PARAMETERS

PARAMETERS p_layoutp_layout TYPETYPE disvariant-variant.disvariant-variant. "Layout exibir ALV."Layout exibir ALV.

SELECTION-SELECTION-SCREENSCREEN ENDEND OFOF LINELINE..

PASSANDO ESTRUTURA PS PARA ESTRUTURA DE UM INFOTIPO.

PASSANDO ESTRUTURA PS PARA ESTRUTURA DE UM INFOTIPO.

FIELD

FIELD-SYMBOLS <fs_p9167>-SYMBOLS <fs_p9167> TYPETYPE p9167.p9167. ASSIGN

ASSIGN (('PS''PS')) TOTO <fs_p9167> CASTING.<fs_p9167> CASTING.

Criar botão na tela sem

Criar botão na tela sem usar status_gui.

usar status_gui.

Exemplo:

Exemplo:

SELECTION-SCREEN

SELECTION-SCREEN:: FUNCTIONFUNCTION KEYKEY 11.. "Declaração do Botão"Declaração do Botão

INITIALIZATION

INITIALIZATION.. *

* Estrutura Estrutura para para descrever descrever o o botãobotão

DATA

DATA: wa_button: wa_button TYPETYPE smp_dyntxt.smp_dyntxt. *

* Nome Nome do do BotãoBotão

wa_button-wa_button-texttext == texttext--029029.. *

* Ícone Ícone do do BotãoBotão

wa_button-i

wa_button-icon_id con_id = = icon_calculicon_calculation ation .. *

* Texto que Texto que aparecerá ao aparecerá ao lado do lado do ícone (pode ícone (pode ser vazio)ser vazio)

wa_button-icon_text =

wa_button-icon_text = texttext--029029.. *

* Quickinfo (aparece quando Quickinfo (aparece quando o user o user passar o passar o mouse sobre mouse sobre o botao)o botao)

wa_button-quickinfo =

wa_button-quickinfo = texttext--029029.. *

(21)

sscrfields-functxt_01 = wa_button. sscrfields-functxt_01 = wa_button. CLEAR

Referências

Documentos relacionados

El objetivo de este estudio propone el uso del modelo de elevación digital (DEM) para determinar la ocurrencia de la especie Achatina fulica en la cuenca

Projecto de Marta de Menezes Curator: Inês Moreira. Uma conversa com Marta de Menezes A conversation with Marta de Menezes

[r]

Aos meus pais, a quem dedico este trabalho, um muito obrigado pelo apoio incondicional que me mostraram ao longo deste percurso, pelas palavras de incentivo e

LEIA ATENTAMENTE ESTA BULA ANTES DE INICIAR O TRATAMENTO. I) IDENTIFICAÇÃO DO MEDICAMENTO Amoxil  BD amoxicilina APRESENTAÇÕES Comprimidos revestidos.. Apresentado

Isto decorre em parte porque as TEC do MERCOSUL são elevadas em relação às tarifas de outros países membros da ALCA, para vários cenários e produtos, além do que a redução

Table 5 – Test cases for use case C_UC2.1: Obtain total energy consumption and costs associated with water consumption using real-time data from smart meters. Test scenario #1

Al´ em de um framework, o MapReduce introduziu um paradigma de programa¸c˜ ao ba- seado no modelo funcional onde, de forma abstrata, um desenvolvedor escreve aplica¸c˜ oes