REPORT ZRR_SAMPLE.
PARAMETERS dbtab TYPE tabname DEFAULT 'SPFLI'.
TYPE-POOLS rsds.
DATA : field_tab TYPE TABLE OF rsdsfields,
table_tab TYPE TABLE OF rsdstabs,
cond_tab TYPE rsds_twhere.
DATA : table LIKE LINE OF table_tab,
cond LIKE LINE OF cond_tab.
DATA : tadir_wa TYPE tadir,
selid TYPE rsdynsel-selid.
DATA : dref TYPE REF TO data,
alv TYPE REF TO cl_salv_table.
FIELD-SYMBOLS <table> TYPE STANDARD TABLE.
SELECT SINGLE *
FROM tadir
INTO tadir_wa
WHERE pgmid = 'R3TR' AND
object = 'TABL' AND
obj_name = dbtab.
IF sy-subrc <> 0.
MESSAGE 'Tabela Não Encontrada' TYPE 'I' DISPLAY LIKE 'E'.
LEAVE PROGRAM.
ENDIF.
table-prim_tab = dbtab.
APPEND table TO table_tab.
CALL FUNCTION 'FREE_SELECTIONS_INIT'
EXPORTING
kind = 'T'
IMPORTING
selection_id = selid
TABLES
tables_tab = table_tab
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE 'Erro ao Executar a Inicialização' TYPE 'I' DISPLAY LIKE 'E'.
LEAVE PROGRAM.
ENDIF.
CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
EXPORTING
selection_id = selid
title = 'Seleção Dinamica'
as_window = ' '
IMPORTING
where_clauses = cond_tab
TABLES
fields_tab = field_tab
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE 'Erro ao Definir as Condições de Seleção' TYPE 'I'.
LEAVE PROGRAM.
ENDIF.
READ TABLE cond_tab WITH KEY tablename = dbtab INTO cond.
IF sy-subrc <> 0.
MESSAGE 'Todos os Registros serão' TYPE 'I'.
ENDIF.
CREATE DATA dref TYPE TABLE OF (dbtab).
ASSIGN dref->* TO <table>.
TRY.
SELECT *
FROM (dbtab)
INTO TABLE <table>
WHERE (cond-where_tab).
CATCH cx_sy_dynamic_osql_error.
MESSAGE 'Erro no Open SQL Dinamico' TYPE 'I' DISPLAY LIKE 'E'.
LEAVE PROGRAM.
ENDTRY.
TRY.
cl_salv_table=>factory( IMPORTING r_salv_table = alv
CHANGING t_table = <table> ).
alv->display( ).
CATCH cx_salv_msg.
MESSAGE 'Erro ao Criar o ALV' TYPE 'I' DISPLAY LIKE 'E'.
ENDTRY.
14/09/2010
OpenSQL WHERE Clauses - Interactive and Dynamic
13/09/2010
Add Button in Report and Change Icon Image
REPORT ZRR_SAMPLE.
TYPE-POOLS: icon.
TABLES: sscrfields.
CONSTANTS: true TYPE true VALUE 'T',
false TYPE false VALUE 'F'.
DATA: g_use_pipe TYPE boole_d,
sc_functxt TYPE smp_dyntxt.
PARAMETERS: p_carrid TYPE s_carr_id,
p_cityfr TYPE s_from_cit.
SELECTION-SCREEN FUNCTION KEY 1.
INITIALIZATION.
g_use_pipe = true.
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'FC01'.
IF g_use_pipe = true.
g_use_pipe = false.
ELSE.
g_use_pipe = true.
ENDIF.
WHEN OTHERS.
ENDCASE.
AT SELECTION-SCREEN OUTPUT.
IF g_use_pipe = true.
sc_functxt-icon_id = icon_view_expand_horizontal.
sc_functxt-quickinfo = 'Change field separator'.
sc_functxt-icon_text = 'Use Tab delimiter'.
sscrfields-functxt_01 = sc_functxt.
ELSE.
sc_functxt-icon_id = icon_view_expand_vertical.
sc_functxt-quickinfo = 'Change field separator'.
sc_functxt-icon_text = 'Use PIPE delimiter'.
sscrfields-functxt_01 = sc_functxt.
ENDIF.
Expand- Collapse Button in Selection Screen
REPORT ZRR_SAMPLE.
DATA: wf_ucomm TYPE sy-ucomm.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
SELECTION-SCREEN PUSHBUTTON /01(30) but1 USER-COMMAND but1.
SELECTION-SCREEN PUSHBUTTON /01(30) but2 USER-COMMAND but2.
PARAMETERS: p_test TYPE c.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = 'ICON_EXPAND'
IMPORTING
RESULT = but1
EXCEPTIONS
OTHERS = 0.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = 'ICON_COLLAPSE'
IMPORTING
RESULT = but2
EXCEPTIONS
OTHERS = 0.
AT SELECTION-SCREEN.
IF sy-ucomm EQ 'BUT1'.
wf_ucomm = 'BUT1'.
ELSEIF sy-ucomm EQ 'BUT2'.
wf_ucomm = 'BUT2'.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
IF wf_ucomm IS INITIAL.
LOOP AT SCREEN.
IF screen-name CS 'P_TEST' OR
screen-name EQ 'BUT2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF wf_ucomm EQ 'BUT1'.
LOOP AT SCREEN.
IF screen-name CS 'P_TEST' OR
screen-name EQ 'BUT2'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'BUT1'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF wf_ucomm EQ 'BUT2' .
LOOP AT SCREEN.
IF screen-name CS 'P_TEST' OR
screen-name EQ 'BUT2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'BUT1'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Expand- Collapse Button in Selection Screen
REPORT ZRR_SAMPLE.
DATA: wf_ucomm TYPE sy-ucomm.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
SELECTION-SCREEN PUSHBUTTON /01(30) but1 USER-COMMAND but1.
SELECTION-SCREEN PUSHBUTTON /01(30) but2 USER-COMMAND but2.
PARAMETERS: p_test TYPE c.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = 'ICON_EXPAND'
IMPORTING
RESULT = but1
EXCEPTIONS
OTHERS = 0.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = 'ICON_COLLAPSE'
IMPORTING
RESULT = but2
EXCEPTIONS
OTHERS = 0.
AT SELECTION-SCREEN.
IF sy-ucomm EQ 'BUT1'.
wf_ucomm = 'BUT1'.
ELSEIF sy-ucomm EQ 'BUT2'.
wf_ucomm = 'BUT2'.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
IF wf_ucomm IS INITIAL.
LOOP AT SCREEN.
IF screen-name CS 'P_TEST' OR
screen-name EQ 'BUT2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF wf_ucomm EQ 'BUT1'.
LOOP AT SCREEN.
IF screen-name CS 'P_TEST' OR
screen-name EQ 'BUT2'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'BUT1'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF wf_ucomm EQ 'BUT2' .
LOOP AT SCREEN.
IF screen-name CS 'P_TEST' OR
screen-name EQ 'BUT2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'BUT1'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ZEBRA PRINTER - ZPL SAMPLE CODE
Necessidade: Imprimir etiqueta em impressora ZEBRA.
Solução: No exemplo abaixo podemos substituir os valores fixos por variaveis criadas em um smartform por exemplo.
Aqui o objetivo é simplesmente mostrar um exemplo sobre a codificação ZPL. Copie o arquivo cole no bloco de notas e mande imprimir na impressora ZEBRA, para visualizar o resultado.
Solução: No exemplo abaixo podemos substituir os valores fixos por variaveis criadas em um smartform por exemplo.
Aqui o objetivo é simplesmente mostrar um exemplo sobre a codificação ZPL. Copie o arquivo cole no bloco de notas e mande imprimir na impressora ZEBRA, para visualizar o resultado.
^XA
^LL310
^PRA
^FO760,415^GB060,725,3^FS
^FO760,970^GB060,170,43^FS
^FO770,40^ADR,40,10^FR^FH_^FDRAFAEL RISO | ^FS
^FO770,235^ADR,40,10^FR^FH_^FD01^FS
^FO465,030^GB290,010,40^FS
^FO500,030^AR,25,60^FR^FH_^FDESTOQUE^FS
^FO730,070^GB025,1070,20^FS
^FO733,080^ADR,14,14^FR^FH_^FDNOSSO CODIGO^FS
^FO733,335^ADR,14,14^FR^FH_^FDDESCRICAO^FS
^FO665,070^GB090,250,3^FS
^FO665,319^GB090,820,3^FS
^FO640,070^GB025,1070,20^FS
^FO640,080^ADR,14,14^FR^FH_^FDLARGURA^FS
^FO640,280^ADR,14,14^FR^FH_^FDCOMPRIMENTO^FS
^FO640,490^ADR,14,14^FR^FH_^FDPECAS^FS
^FO640,700^ADR,14,14^FR^FH_^FDQUANTIDADE^FS
^FO640,975^ADR,14,14^FR^FH_^FDUND^FS
^FO575,070^GB090,200,3^FS
^FO575,269^GB090,210,3^FS
^FO575,478^GB090,190,3^FS
^FO575,667^GB090,300,3^FS
^FO575,966^GB090,173,3^FS
^FO550,070^GB025,1070,20^FS
^FO525,070^GB025,535,20^FS
^FO550,250^ADR,14,14^FR^FH_^FDUNIDADE METALICA^FS
^FO525,225^ADR,14,14^FR^FH_^FDORIGEM DESTINO^FS
^FO550,810^ADR,14,14^FR^FH_^FDETIQUETA^FS
^FO465,070^GB090,267,3^FS
^FO465,337^GB090,267,3^FS
^FO465,604^GB090,535,83^FS
^FO030,030^GB325,010,40^FS
^FO110,030^AR,25,60^FR^FH_^FDCLIENTE^FS
^FO440,030^GB025,1110,20^FS
^FO330,070^GB025,1070,20^FS
^FO333,080^ADR,14,10^FR^FH_^FDMATERIA PRIMA^FS3
^FO333,435^ADR,14,10^FR^FH_^FDPRODUTO ACABADO^FS
^FO333,795^ADR,14,10^FR^FH_^FDCODIGO SEGURANCA^FS
^FO275,070^GB080,356,3^FS
^FO275,425^GB080,356,3^FS
^FO275,780^GB080,359,3^FS
^FO250,070^GB025,1070,20^FS
^FO253,080^ADR,14,14^FR^FH_^FDNOTA^FS3
^FO253,275^ADR,14,14^FR^FH_^FDEMISSOR^FS
^FO195,070^GB080,200,3^FS
^FO195,269^GB080,870,3^FS
^FO170,070^GB025,1070,20^FS
^FO173,080^ADR,14,14^FR^FH_^FDPEDIDO^FS3
^FO173,275^ADR,14,14^FR^FH_^FDITEM^FS
^FO173,380^ADR,14,14^FR^FH_^FDCLIENTE^FS
^FO115,070^GB080,200,3^FS
^FO115,269^GB080,100,3^FS
^FO115,369^GB080,770,3^FS
^FO090,070^GB025,1070,20^FS
^FO093,080^ADR,14,14^FR^FH_^FDORDEM PRODUCAO^FS
^FO093,275^ADR,14,14^FR^FH_^FDCOD.EMB^FS
^FO093,380^ADR,14,14^FR^FH_^FDDATA ENTREGA^FS
^FO093,595^ADR,14,14^FR^FH_^FDEMISSAO ETIQUETA^FS
^FO093,890^ADR,14,14^FR^FH_^FDVOLUME^FS
^FO093,890^ADR,14,14^FR^FH_^FDREGIAO^FS
^FO030,070^GB060,200,3^FS
^FO030,269^GB060,100,3^FS
^FO030,368^GB060,213,3^FS
^FO030,580^GB060,300,3^FS
^FO030,880^GB060,139,3^FS
^FO030,880^GB060,260,33^FS
^FO770,425^ASR,20,20^FR^FD02^FS
^FO770,415^ASR,20,20^FR^FH_^FD03^FS
^FO670,080^ASR,20,15^FR^FH_^FD04^FS
^FO670,325^ASR,15,15^FD05^FS
^FO580,80^ASR,40,17^FR^FH_^FD06^FS
^FO580,280^ASR,40,17^FR^FH_^FD07^FS
^FO580,490^ASR,40,17^FR^FH_^FD08^FS
^FO580,690^ASR,50,60^FR^FH_^FD09^FS
^FO580,1000^ASR,40,40^FR^FH_^FD10^FS
^FO470,080^ASR,20,20^FR^FH_^FD11^FS
^FO470,380^ASR,20,20^FR^FH_^FD12^FS
^FO470,635^ASR,80,120^FR^FD13^FS
^FO280,080^ASR,30,14^FR^FH_^FD14^FS
^FO280,435^ASR,30,14^FR^FH_^FD15^FS
^FO118,080^ASR,30,30^FR^FH_^FD16^FS
^FO118,280^ASR,30,30^FR^FH_^FD17^FS
^FO118,380^ASR,20,20^FR^FH_^FD18^FS
^FO200,080^ASR,30,20^FR^FH_^FD19^FS
^FO200,290^ASR,30,15^FR^FH_^FD20^FS
^FO035,080^ASR,30,30^FR^FH_^FD21^FS
^FO035,280^ASR,30,30^FR^FH_^FD22^FS
^FO035,385^ASR,20,15^FR^FH_^FD23^FS
^FO035,590^ASR,15,15^FR^FH_^FD24^FS
^FO035,890^ASR,15,15^FR^FH_^FD25^FS
^FO035,890^ASR,40,40^FR^FH_^FD26^FS
^FO440,480^ADR,14,10^FR^FDETIQUETA EM CODIGO DE BARRAS^FS3
^FO390,90^BY2^BCR,45,Y,N,N^FD27^FS
^FO50,1150^BY2^BCN,35,Y,N,N^FD28^FS
^FO280,780^B7R,5,2,5,10,N^FD29^FS
^ISFIXO0001,Y^FS
^XZ
Assinar:
Postagens (Atom)
