✒️ABAP / Los conceptos importantes de reportes Por Carlos Piles Rosell

ABAP Los conceptos importantes de reportes

ABAP Los conceptos importantes de reportes

Reporte Parametrizable

Hola Compañeros:

Os dejo aquí el código fuente de un informe parametrizable para obtener información de clientes, pedidos y lineas de pedido por país y ciudad. Es bastante largo y complejo; pero creo que los comentarios os ayudaran. Es un inform clásico no interactivo; con puntos de control configurables.

  1. *&---------------------------------------------------------------------*
  2. *& Report ZGZ57B_DETAILED_REPORT
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8. REPORT zgz57b_detailed_report.
  9. *---------------------------------------------------------------------*
  10. * Tablas de la Base de Datos SAP
  11. *---------------------------------------------------------------------*
  12. TABLES:
  13. kna1, "Maestro Clientes
  14. t005t, "Nombre de los Paises
  15. vbak, "Cabeceras de Pedido
  16. vbap. "Lineas de Pedido
  17. *---------------------------------------------------------------------*
  18. * Tipos para las Tablas de los Informes
  19. *---------------------------------------------------------------------*
  20. TYPES:
  21. BEGIN OF ty_clientes,
  22. land1 LIKE kna1-land1, "Codigo Pais
  23. landx LIKE t005t-landx, "Nombre Pais
  24. ort01 LIKE kna1-ort01 , "Ciudad
  25. kunnr LIKE kna1-kunnr , "Codigo Cliente
  26. name1 LIKE kna1-name1 , "Nombre Cliente
  27. END OF ty_clientes.
  28. TYPES:
  29. BEGIN OF ty_facturas,
  30. land1 LIKE kna1-land1, "Codigo Pais
  31. landx LIKE t005t-landx, "Nombre Pais
  32. ort01 LIKE kna1-ort01 , "Ciudad
  33. kunnr LIKE kna1-kunnr , "Codigo Cliente
  34. name1 LIKE kna1-name1 , "Nombre Cliente
  35. vbeln LIKE vbak-vbeln, "Num.Pedido
  36. audat LIKE vbak-audat, "Fecha Pedido
  37. netwr LIKE vbak-netwr, "Valor Pedido
  38. END OF ty_facturas.
  39. TYPES:
  40. BEGIN OF ty_detalle,
  41. land1 LIKE kna1-land1, "Codigo Pais
  42. landx LIKE t005t-landx, "Nombre Pais
  43. ort01 LIKE kna1-ort01 , "Ciudad
  44. kunnr LIKE kna1-kunnr , "Codigo Cliente
  45. name1 LIKE kna1-name1 , "Nombre Cliente
  46. vbeln LIKE vbak-vbeln, "Num.Pedido
  47. audat LIKE vbak-audat, "Fecha Pedido
  48. netwr LIKE vbak-netwr, "Valor Pedido
  49. posnr LIKE vbap-posnr, "Linea de Pedido
  50. matnr LIKE vbap-matnr, "Cod.Articulo Linea
  51. arktx LIKE vbap-arktx, "Desc.Articulo Linea
  52. kbmeng LIKE vbap-kbmeng, "Cant.Articulo Linea
  53. netpr LIKE vbap-netpr, "Precio Articulo Linea
  54. END OF ty_detalle.
  55. *---------------------------------------------------------------------*
  56. * Tablas Internas y Registros (Workareas)
  57. *---------------------------------------------------------------------*
  58. DATA:
  59. ti_clientes TYPE STANDARD TABLE OF ty_clientes,
  60. wa_clientes LIKE LINE OF ti_clientes,
  61. wa_clientes_aux LIKE wa_clientes, " Auxiliar para corte Clientes
  62. ti_facturas TYPE STANDARD TABLE OF ty_facturas,
  63. wa_facturas LIKE LINE OF ti_facturas,
  64. wa_facturas_aux LIKE wa_facturas, " Auxiliar para corte Facturas
  65. ti_detalle TYPE STANDARD TABLE OF ty_detalle,
  66. wa_detalle LIKE LINE OF ti_detalle,
  67. wa_detalle_aux LIKE wa_detalle, " Auxiliar para corte Detalle
  68. so_ty_city(30) TYPE c,
  69. gv_t_ini TYPE i,
  70. gv_t_fin TYPE i,
  71. gv_records TYPE i,
  72. gv_mess(60) TYPE c,
  73. gv_time(10) TYPE c,
  74. gv_items(10) TYPE c,
  75. v_selected LIKE sy-tabix.
  76. *---------------------------------------------------------------------*
  77. * Variables de Acumulados de Corte
  78. *---------------------------------------------------------------------*
  79. DATA:
  80. gv_lineas_fra TYPE i, "Lineas en Pedido
  81. gv_bruto_fra TYPE p DECIMALS 2, "Bruto Pedido (cant x precio)
  82. gv_fras_cliente TYPE i, "Pedidos por Cliente
  83. gv_total_cliente TYPE p DECIMALS 2, "Importe Pedidos Cliente
  84. gv_fras_city TYPE i, "Pedidos por Ciudad
  85. gv_cli_city TYPE i, "Clientes por Ciudad
  86. gv_total_city TYPE p DECIMALS 2, "Importe Pedidos Ciudad
  87. gv_fras_pais TYPE i, "Pedidos por Pais
  88. gv_cli_pais TYPE i, "Clientes por Pais
  89. gv_total_pais TYPE p DECIMALS 2, "Importe Pedidos Pais
  90. gv_fras_total TYPE i, "Pedidos en Total
  91. gv_cli_total TYPE i, "Clientes en Total
  92. gv_gran_total TYPE p DECIMALS 2. "Importe Total Pedidos
  93. *---------------------------------------------------------------------*
  94. * Pantalla de selección
  95. *---------------------------------------------------------------------*
  96. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
  97. SELECT-OPTIONS so_pais FOR t005t-land1. "Seleccion Pais
  98. SELECT-OPTIONS so_cli FOR kna1-kunnr. "Seleccion Cod.Cliente
  99. SELECT-OPTIONS so_fecha FOR sy-datum. "Seleccion Fecha Pedido
  100. SELECT-OPTIONS so_city FOR (so_ty_city)
  101. DEFAULT 'A' TO 'ZZ'. "Seleccion Ciudad
  102. SELECTION-SCREEN END OF BLOCK b1.
  103. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
  104. PARAMETERS:
  105. p_cli RADIOBUTTON GROUP grp1, "Listado Clientes
  106. p_fra RADIOBUTTON GROUP grp1, "Listado Pedidos
  107. p_lin RADIOBUTTON GROUP grp1. "Listado Lineas
  108. *SELECTION-SCREEN PUSHBUTTON 'Actualizar Opciones'.
  109. SELECTION-SCREEN END OF BLOCK b2.
  110. SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
  111. PARAMETERS:
  112. p_tpais AS CHECKBOX, "Total Pais
  113. p_tcity AS CHECKBOX, "Total Ciudad
  114. p_tcli AS CHECKBOX, "Total Cliente
  115. p_tfra AS CHECKBOX. "Total Pedido
  116. SELECTION-SCREEN END OF BLOCK b3.
  117. *---------------------------------------------------------------------*
  118. *AT SELECTION-SCREEN OUTPUT.
  119. *---------------------------------------------------------------------*
  120. * p_fra = 'x'.
  121. * p_lin = 'x'.
  122. * PERFORM enable_disable_opts.
  123. *---------------------------------------------------------------------*
  124. *AT SELECTION-SCREEN.
  125. *---------------------------------------------------------------------*
  126. * PERFORM enable_disable_opts.
  127. *-------------------------------------------------*
  128. INITIALIZATION.
  129. *-------------------------------------------------*
  130. CLEAR:
  131. gv_lineas_fra,
  132. gv_bruto_fra,
  133. gv_fras_cliente,
  134. gv_total_cliente,
  135. gv_fras_city,
  136. gv_cli_city,
  137. gv_total_city,
  138. gv_fras_pais,
  139. gv_cli_pais,
  140. gv_total_pais,
  141. gv_fras_total,
  142. gv_cli_total,
  143. gv_t_ini,
  144. gv_t_fin,
  145. gv_t_ini,
  146. gv_t_fin,
  147. gv_records,
  148. gv_mess,
  149. gv_time,
  150. gv_gran_total.
  151. *-------------------------------------------------*
  152. START-OF-SELECTION.
  153. *-------------------------------------------------*
  154. GET RUN TIME FIELD gv_t_ini.
  155. IF p_cli IS NOT INITIAL.
  156. "Consulta de Pedidos
  157. "Clientes JOIN Paises
  158. SELECT c~land1 p~landx c~ort01 c~kunnr c~name1
  159. INTO CORRESPONDING FIELDS OF TABLE ti_clientes
  160. FROM kna1 AS c
  161. INNER JOIN t005t AS p
  162. ON c~land1 = p~land1
  163. WHERE p~spras = sy-langu "Nombre de Pais en ES
  164. AND c~land1 IN so_pais
  165. AND c~ort01 IN so_city
  166. AND c~kunnr IN so_cli.
  167. DESCRIBE TABLE ti_clientes LINES gv_records.
  168. ENDIF.
  169. IF p_fra IS NOT INITIAL.
  170. "Consulta de Pedidos
  171. "Cabeceras JOIN Clientes JOIN Paises
  172. SELECT c~land1 p~landx c~ort01 c~kunnr c~name1 f~vbeln
  173. f~audat f~netwr
  174. INTO CORRESPONDING FIELDS OF TABLE ti_facturas
  175. FROM vbak AS f
  176. INNER JOIN kna1 AS c
  177. ON c~kunnr = f~kunnr
  178. INNER JOIN t005t AS p
  179. ON c~land1 = p~land1
  180. WHERE p~spras = sy-langu "Nombre de Pais en ES
  181. AND f~kunnr IN so_cli
  182. AND c~ort01 IN so_city
  183. AND f~audat IN so_fecha
  184. AND c~land1 IN so_pais.
  185. DESCRIBE TABLE ti_facturas LINES gv_records.
  186. ENDIF.
  187. IF p_lin IS NOT INITIAL.
  188. "Consulta de Lineas de Pedido
  189. "Lineas JOIN Cabeceras JOIN Clientes JOIN Paises
  190. SELECT c~land1 p~landx c~ort01 c~kunnr c~name1 f~vbeln
  191. f~audat f~netwr l~posnr l~matnr l~arktx l~kbmeng l~netpr
  192. INTO CORRESPONDING FIELDS OF TABLE ti_detalle
  193. FROM vbap AS l
  194. INNER JOIN vbak AS f
  195. ON l~vbeln = f~vbeln
  196. INNER JOIN kna1 AS c
  197. ON c~kunnr = f~kunnr
  198. INNER JOIN t005t AS p
  199. ON c~land1 = p~land1
  200. WHERE p~spras = sy-langu "Nombre de Pais en ES
  201. AND c~land1 IN so_pais
  202. AND c~ort01 IN so_city
  203. AND c~kunnr IN so_cli
  204. AND f~audat IN so_fecha.
  205. DESCRIBE TABLE ti_detalle LINES gv_records.
  206. ENDIF.
  207. * Tiempo de ejecucion
  208. GET RUN TIME FIELD gv_t_fin.
  209. gv_t_ini = gv_t_fin - gv_t_ini.
  210. WRITE gv_t_ini TO gv_time.
  211. WRITE gv_records TO gv_items.
  212. CONCATENATE gv_items 'resultados en' gv_time 'microsegundos.'
  213. INTO gv_mess
  214. SEPARATED BY ' '.
  215. MESSAGE gv_mess TYPE 'S'.
  216. *-------------------------------------------------*
  217. END-OF-SELECTION.
  218. *-------------------------------------------------*
  219. IF p_cli IS NOT INITIAL.
  220. PERFORM lista_clientes.
  221. ENDIF.
  222. IF p_fra IS NOT INITIAL.
  223. PERFORM lista_facturas.
  224. ENDIF.
  225. IF p_lin IS NOT INITIAL.
  226. PERFORM lista_detalle.
  227. ENDIF.
  228. *-------------------------------------------------*
  229. TOP-OF-PAGE.
  230. *-------------------------------------------------*
  231. PERFORM lista_cabecera.
  232. *-------------------------------------------------*
  233. END-OF-PAGE.
  234. *-------------------------------------------------*
  235. PERFORM lista_pie.
  236. *&---------------------------------------------------------------------*
  237. *& Form LISTA_CLIENTES
  238. *&---------------------------------------------------------------------*
  239. * text
  240. *----------------------------------------------------------------------*
  241. * --> p1 text
  242. * <-- p2 text
  243. *----------------------------------------------------------------------*
  244. FORM lista_clientes .
  245. SORT ti_clientes BY land1 ort01 name1.
  246. LOOP AT ti_clientes INTO wa_clientes.
  247. wa_clientes_aux = wa_clientes.
  248. AT NEW land1.
  249. CLEAR:
  250. gv_fras_pais,
  251. gv_cli_pais,
  252. gv_total_pais.
  253. IF p_tpais IS NOT INITIAL.
  254. FORMAT COLOR 4.
  255. WRITE: / ' Pais:',
  256. 8 wa_clientes_aux-landx,
  257. 25 wa_clientes_aux-land1.
  258. ENDIF.
  259. ENDAT.
  260. AT NEW ort01.
  261. CLEAR:
  262. gv_fras_city,
  263. gv_cli_city,
  264. gv_total_city.
  265. IF p_tcity IS NOT INITIAL.
  266. FORMAT COLOR 3.
  267. WRITE: /10(16) 'Ciudad:',
  268. wa_clientes_aux-ort01.
  269. ENDIF.
  270. ENDAT.
  271. FORMAT COLOR 2.
  272. WRITE: /(1) sy-vline,
  273. (3) wa_clientes-land1,
  274. (1) sy-vline,
  275. (15) wa_clientes-landx,
  276. (1) sy-vline,
  277. (20) wa_clientes-ort01,
  278. (1) sy-vline,
  279. (10) wa_clientes-kunnr,
  280. (1) sy-vline,
  281. (30) wa_clientes-name1,
  282. (1) sy-vline.
  283. ADD 1 TO gv_cli_city.
  284. ADD 1 TO gv_cli_pais.
  285. ADD 1 TO gv_cli_total.
  286. AT END OF ort01.
  287. IF p_tcity IS NOT INITIAL.
  288. FORMAT COLOR 3.
  289. WRITE:/10 'Hay ',
  290. gv_cli_city,
  291. ' Clientes en ',
  292. wa_clientes_aux-ort01.
  293. SKIP.
  294. ENDIF.
  295. ENDAT.
  296. AT END OF land1.
  297. IF p_tpais IS NOT INITIAL.
  298. FORMAT COLOR 4.
  299. WRITE: / 'Hay ',
  300. gv_cli_pais,
  301. ' Clientes en ',
  302. wa_clientes_aux-landx.
  303. ULINE.
  304. ENDIF.
  305. ENDAT.
  306. ENDLOOP.
  307. ENDFORM. " LISTA_CLIENTES
  308. *&---------------------------------------------------------------------*
  309. *& Form LISTA_FACTURAS
  310. *&---------------------------------------------------------------------*
  311. * text
  312. *----------------------------------------------------------------------*
  313. * --> p1 text
  314. * <-- p2 text
  315. *----------------------------------------------------------------------*
  316. FORM lista_facturas .
  317. SORT ti_facturas BY land1 ort01 kunnr vbeln.
  318. LOOP AT ti_facturas INTO wa_facturas.
  319. wa_facturas_aux = wa_facturas.
  320. AT NEW land1.
  321. CLEAR:
  322. gv_fras_pais,
  323. gv_cli_pais,
  324. gv_total_pais.
  325. IF p_tpais IS NOT INITIAL.
  326. FORMAT COLOR 4.
  327. WRITE: / ' Pais:',
  328. 8 wa_facturas_aux-landx,
  329. 25 wa_facturas_aux-land1.
  330. ENDIF.
  331. ENDAT.
  332. AT NEW ort01.
  333. CLEAR:
  334. gv_fras_city,
  335. gv_cli_city,
  336. gv_total_city.
  337. IF p_tcity IS NOT INITIAL.
  338. FORMAT COLOR 3.
  339. WRITE: /7 'Ciudad:',
  340. 27 wa_facturas_aux-ort01.
  341. ENDIF.
  342. ENDAT.
  343. AT NEW kunnr.
  344. CLEAR:
  345. gv_fras_cliente,
  346. gv_total_cliente.
  347. IF p_tcli IS NOT INITIAL.
  348. FORMAT COLOR 5.
  349. WRITE: /41 'Cliente:',
  350. wa_facturas_aux-kunnr,
  351. '-',
  352. wa_facturas_aux-name1.
  353. ENDIF.
  354. ENDAT.
  355. FORMAT COLOR 2.
  356. WRITE: /(1) sy-vline,
  357. (3) wa_facturas-land1,
  358. (1) sy-vline,
  359. (15) wa_facturas-landx,
  360. (1) sy-vline,
  361. (20) wa_facturas-ort01,
  362. (1) sy-vline,
  363. (10) wa_facturas-kunnr,
  364. (1) sy-vline,
  365. (30) wa_facturas-name1,
  366. (1) sy-vline,
  367. (10) wa_facturas-vbeln,
  368. (1) sy-vline,
  369. (10) wa_facturas-audat,
  370. (1) sy-vline,
  371. (14) wa_facturas-netwr,
  372. (1) sy-vline.
  373. ADD 1 TO gv_fras_cliente.
  374. ADD 1 TO gv_fras_city.
  375. ADD 1 TO gv_fras_pais.
  376. ADD 1 TO gv_fras_total.
  377. ADD wa_facturas-netwr TO gv_total_cliente.
  378. ADD wa_facturas-netwr TO gv_total_city.
  379. ADD wa_facturas-netwr TO gv_total_pais.
  380. ADD wa_facturas-netwr TO gv_gran_total.
  381. AT END OF kunnr.
  382. ADD 1 TO gv_cli_city.
  383. ADD 1 TO gv_cli_pais.
  384. ADD 1 TO gv_cli_total.
  385. IF p_tcli IS NOT INITIAL.
  386. FORMAT COLOR 5.
  387. WRITE:/41 'Cliente:',
  388. wa_facturas_aux-kunnr,
  389. '-',
  390. (30) wa_facturas_aux-name1,
  391. ' tiene',
  392. (6) gv_fras_cliente,
  393. 'facturas por',
  394. (17) gv_total_cliente.
  395. ENDIF.
  396. ENDAT.
  397. AT END OF ort01.
  398. IF p_tcity IS NOT INITIAL.
  399. FORMAT COLOR 3.
  400. WRITE: /7 'Hay',
  401. (4) gv_cli_city,
  402. 15 'Clientes en',
  403. (20) wa_facturas_aux-ort01,
  404. ' con',
  405. (7) gv_fras_city,
  406. 'pedidos por importe de ',
  407. (17) gv_total_city.
  408. SKIP.
  409. ENDIF.
  410. ENDAT.
  411. AT END OF land1.
  412. IF p_tpais IS NOT INITIAL.
  413. FORMAT COLOR 4.
  414. WRITE: / ' En ',
  415. (15) wa_facturas_aux-landx,
  416. ' hay',
  417. (5) gv_cli_pais,
  418. ' Clientes activos ',
  419. 'con',
  420. (7) gv_fras_pais,
  421. 'facturas por',
  422. (15) gv_total_pais.
  423. ULINE.
  424. ENDIF.
  425. ENDAT.
  426. ENDLOOP.
  427. ENDFORM. " LISTA_FACTURAS
  428. *&---------------------------------------------------------------------*
  429. *& Form LISTA_DETALLE
  430. *&---------------------------------------------------------------------*
  431. * text
  432. *----------------------------------------------------------------------*
  433. * --> p1 text
  434. * <-- p2 text
  435. *----------------------------------------------------------------------*
  436. FORM lista_detalle .
  437. SORT ti_detalle BY land1 ort01 kunnr vbeln posnr.
  438. LOOP AT ti_detalle INTO wa_detalle.
  439. wa_detalle_aux = wa_detalle.
  440. AT NEW land1.
  441. CLEAR:
  442. gv_fras_pais,
  443. gv_cli_pais,
  444. gv_total_pais.
  445. IF p_tpais IS NOT INITIAL.
  446. FORMAT COLOR 4.
  447. WRITE: / 'Pais:',
  448. 6 wa_detalle_aux-landx,
  449. 22 wa_detalle_aux-land1.
  450. ENDIF.
  451. ENDAT.
  452. AT NEW ort01.
  453. CLEAR:
  454. gv_fras_city,
  455. gv_cli_city,
  456. gv_total_city.
  457. IF p_tcity IS NOT INITIAL.
  458. FORMAT COLOR 3.
  459. WRITE: /5 'Ciudad:',
  460. 22 wa_detalle_aux-ort01.
  461. ENDIF.
  462. ENDAT.
  463. AT NEW kunnr.
  464. CLEAR:
  465. gv_fras_cliente,
  466. gv_total_cliente.
  467. IF p_tcli IS NOT INITIAL.
  468. FORMAT COLOR 5.
  469. WRITE: /29 'Cliente:',
  470. wa_detalle_aux-kunnr,
  471. wa_detalle_aux-name1.
  472. ENDIF.
  473. ENDAT.
  474. AT NEW vbeln.
  475. CLEAR:
  476. gv_lineas_fra,
  477. gv_bruto_fra.
  478. ENDAT.
  479. FORMAT COLOR 2.
  480. WRITE: /(1) sy-vline,
  481. 2(3) wa_detalle-land1,
  482. 5(1) sy-vline,
  483. 6(15) wa_detalle-landx,
  484. 21(1) sy-vline,
  485. 22(15) wa_detalle-ort01,
  486. 37(1) sy-vline,
  487. 38(10) wa_detalle-kunnr,
  488. 48(1) sy-vline,
  489. 49(25) wa_detalle-name1,
  490. 74(1) sy-vline,
  491. 75(10) wa_detalle-vbeln,
  492. 85(1) sy-vline,
  493. 86(10) wa_detalle-audat,
  494. 96(1) sy-vline,
  495. 97(6) wa_detalle-posnr,
  496. 103(1) sy-vline,
  497. 104(12) wa_detalle-matnr,
  498. 116(1) sy-vline,
  499. 117(20) wa_detalle-arktx,
  500. 137(1) sy-vline,
  501. 138(8) wa_detalle-kbmeng,
  502. 146(1) sy-vline,
  503. 147(10) wa_detalle-netpr,
  504. 157(1) sy-vline.
  505. ADD 1 TO gv_lineas_fra.
  506. gv_bruto_fra = gv_bruto_fra + wa_detalle-kbmeng * wa_detalle-netpr.
  507. AT END OF vbeln.
  508. ADD 1 TO gv_fras_cliente.
  509. ADD 1 TO gv_fras_city.
  510. ADD 1 TO gv_fras_pais.
  511. ADD 1 TO gv_fras_total.
  512. ADD wa_detalle_aux-netwr TO gv_total_cliente.
  513. ADD wa_detalle_aux-netwr TO gv_total_city.
  514. ADD wa_detalle_aux-netwr TO gv_total_pais.
  515. ADD wa_detalle_aux-netwr TO gv_gran_total.
  516. IF p_tfra IS NOT INITIAL.
  517. FORMAT COLOR 6.
  518. WRITE: /87 'Pedido:',
  519. wa_detalle-vbeln,
  520. 'con',
  521. (3) gv_lineas_fra,
  522. 'lineas con importe bruto ',
  523. gv_bruto_fra.
  524. ENDIF.
  525. ENDAT.
  526. AT END OF kunnr.
  527. ADD 1 TO gv_cli_city.
  528. ADD 1 TO gv_cli_pais.
  529. ADD 1 TO gv_cli_total.
  530. IF p_tcli IS NOT INITIAL.
  531. FORMAT COLOR 5.
  532. WRITE: /29 'Cliente:',
  533. wa_detalle_aux-kunnr,
  534. wa_detalle_aux-name1,
  535. ' tiene',
  536. (5) gv_fras_cliente,
  537. 'pedidos por un total de',
  538. (15) gv_total_cliente.
  539. ENDIF.
  540. ENDAT.
  541. AT END OF ort01.
  542. IF p_tcity IS NOT INITIAL.
  543. FORMAT COLOR 3.
  544. WRITE:/5 'Hay',
  545. (4) gv_cli_city,
  546. 13 'Clientes',
  547. (20) wa_detalle_aux-ort01,
  548. ' con',
  549. (5) gv_fras_city,
  550. 'pedidos por importe de',
  551. (15) gv_total_city.
  552. SKIP.
  553. ENDIF.
  554. ENDAT.
  555. AT END OF land1.
  556. IF p_tpais IS NOT INITIAL.
  557. FORMAT COLOR 4.
  558. WRITE: / 'En ',
  559. (15) wa_detalle_aux-landx,
  560. 'hay',
  561. (4) gv_cli_pais,
  562. 'Clientes activos',
  563. 'con',
  564. 51(7) gv_fras_pais,
  565. 58 'facturas por',
  566. (15) gv_total_pais.
  567. ULINE.
  568. ENDIF.
  569. ENDAT.
  570. ENDLOOP.
  571. ENDFORM. " LISTA_DETALLE
  572. *&---------------------------------------------------------------------*
  573. *& Form LISTA_CABECERA
  574. *&---------------------------------------------------------------------*
  575. * text
  576. *----------------------------------------------------------------------*
  577. * --> p1 text
  578. * <-- p2 text
  579. *----------------------------------------------------------------------*
  580. FORM lista_cabecera .
  581. FORMAT COLOR 7.
  582. IF p_lin IS NOT INITIAL.
  583. WRITE:/(157) sy-uline.
  584. WRITE: /(1) sy-vline,
  585. 2(19) 'Pais / Country',
  586. 21(1) sy-vline,
  587. 22(15) 'Ciudad/City',
  588. 37(1) sy-vline,
  589. 38(10) 'Codigo',
  590. 48(1) sy-vline,
  591. 49(25) 'Nombre / Name',
  592. 74(1) sy-vline,
  593. 75(10) 'Order #',
  594. 85(1) sy-vline,
  595. 86(10) 'Fecha/Date',
  596. 96(1) sy-vline,
  597. 97(6) ' lin.#',
  598. 103(1) sy-vline,
  599. 104(12) 'Referencia',
  600. 116(1) sy-vline,
  601. 117(20) 'Articulo/Articule',
  602. 137(1) sy-vline,
  603. 138(8) 'Cant/Qty',
  604. 146(1) sy-vline,
  605. 147(10) 'Net. Price',
  606. 157(1) sy-vline.
  607. WRITE:/(157) sy-uline.
  608. ENDIF.
  609. IF p_fra IS NOT INITIAL.
  610. WRITE:/(137) sy-uline.
  611. WRITE: /(1) sy-vline,
  612. (21) 'Pais / Country',
  613. (1) sy-vline,
  614.  

 

 

 


Sobre el autor

Publicación académica de Carlos Piles Rosell, en su ámbito de estudios para el Curso ABAP.

SAP Senior

Carlos Piles Rosell

Profesión: Analista de Sistemas y Programador - España - Legajo: GZ57B

✒️Autor de: 24 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: PartTime

Certificación Académica de Carlos Piles

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los conceptos importantes de reportes" de la mano de nuestros alumnos.

SAP Expert


1. La Creación de una Variante de Ejecución Una variante de ejecución en SAP se define como una imagen de información fija que puede ser introducida en una pantalla de selección de una transacción. Su principal función es permitir a los usuarios guardar los parámetros de entrada de una pantalla de selección, para no tener que introducirlos repetidamente cada vez que se ejecuta el programa o la transacción,. Este concepto resulta sumamente útil, tanto para los usuarios finales al ejecutar transacciones en el ambiente productivo, como para los consultores ABAP y funcionales durante la etapa de pruebas. Al grabar una variante (por ejemplo, ZPRUEBA_1810),, los campos de...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Variantes de ejecución: · ¿Para qué sirven? Para guardar los valores que pongo en una pantalla de selección y no tener que volver a llenarlos cada vez. · ¿Cómo se crean? 1. Ejecuto el programa y lleno los campos de la pantalla de selección. 2. Hago clic en el botón "Guardar" (el de el disquete). 3. Le doy un nombre a la variante (ej: ZPRUEBA_1010) y una descripción. 4. ¡Listo! La próxima vez puedo cargarla con el botón "Obtener variante". Crear una transacción para un reporte: · ¿Por qué? Para que los usuarios finales puedan ejecutar mi programa sin necesidad de saber el nombre del reporte...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Los conceptos importantes de reportes 1.-Creación de variantes de ejecución Se explicó el concepto de variante de ejecución en SAP, útil para reportes y otros objetos ejecutables. Las variantes permiten guardar los parámetros ingresados en una pantalla de selección para no tener que introducirlos cada vez. Se ejemplificó creando una variante para el reporte Z3, donde se llenan los campos y se guarda como "Z_prueba_1810". Se mostró cómo recuperar y utilizar una variante guardada para ejecutar el reporte con valores predefinidos. Se destacó la utilidad de las variantes tanto para usuarios finales en producción como para consultores...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Aprende a optimizar reportes SAP con variantes de ejecución (ahorra tiempo en parámetros), creación de transacciones personalizadas para usuarios finales y uso de colores para mejorar la visualización de datos. 1 Variantes de Ejecución ¿Qué son? Imágenes fijas que almacenan valores de pantallas de selección para reutilizarlos. Solución perfecta para reportes con muchos parámetros. Pasos para crear una variante: Ejecuta el reporte (ej: ZTEST_REPORTE_USUARIOS) y completa los campos. Clic en "Grabar" en la barra de herramientas. Asigna nombre y descripción: Nombre: ZPRUEBA_1810...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Los conceptos importantes de reportes 1 La creación de una variante de ejecución Una variante de ejecución en SAP permite guardar valores predefinidos para los parámetros de selección de un programa ABAP. Estas variantes son útiles para evitar tener que ingresar manualmente los mismos datos cada vez que se ejecuta el programa, facilitando la automatización y estandarización de procesos. ¿Cómo se crea una variante? Ingresar al programa mediante su transacción o desde SE38. Completar los campos de la pantalla de selección con los valores deseados. Presionar el botón "Guardar variante" (ícono de disquete...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



Conceptos Importantes de Reportes en SAP En SAP, los reportes son fundamentales para convertir los datos operativos en información útil para la toma de decisiones. Ya sea para monitorear ventas, inventarios, costos, pagos, producción o cualquier otro proceso empresarial, SAP ofrece múltiples herramientas para generar reportes estándares o personalizados. A continuación, se presentan los conceptos clave que se deben conocer: ¿Qué es un reporte en SAP? Un reporte en SAP es una representación estructurada de la información almacenada en las bases de datos del sistema. Su objetivo principal es analizar datos operativos y de negocio, facilitando la gestión y el control...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Los conceptos importantes de reportes 1. La creación de una variante de ejecución Supongamos que tenemos un reporte que tiene una pantalla de selección con 20 campos de entrada, entre parameters y select-options. Para solucionar este inconveniente, SAP creó el concepto de variante que es aplicable tanto a reportes como a cualquier objeto que se pueda ejecutar y que permita guardar los parámetros ingresados por pantalla, para no tener que volver a cargarlos una y otra vez. Variante de ejecución: Es una imagen de información fija que podemos introducir en una pantalla de selección de una transacción. Con una variante podemos introducir valores en cada uno de los campos de una pantalla...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Conceptos importantes de Reportes • Variantes de Ejecución: Supongamos que tenemos un reporte que tiene una pantalla de selección con 20 campos de entrada, entre parameters y select-options. Si cada vez que necesitamos ejecutar el reporte, tenemos que introducir en pantalla de selección el contenido de los 20 parámetros perderíamos mucho tiempo. Para solucionar este inconveniente, SAP creó el concepto de variante, que es aplicable tanto a reportes como a cualquier objeto que se pueda ejecutar y que permite guardar los parámetros ingresados por pantalla, para no tener que volver a cargarlos una y otra vez. Las variantes de ejecución son sumamente útiles tanto para el usuario...

Acceder a esta publicación

Creado y Compartido por: Mauricio Ezequiel Yedro

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

N°1 Los conceptos importantes de reportes Variante de ejecución: Llamamos variante de ejecucion a una imagen de informacion fija que podemos introducir a una pantalla de selección de una transaccion, (con esta podemos introducir valores en cada uno de los campos de una pantalla de selección y grabarla para mas tarde recuperarla). Para crear estas se utiliza SE93 La utilizacion de colores en reportes: Para utilizar colores en reportes utilizamos FORMAT COLOR antes de ejecutar WRITE, podemos elegir una amplia cantida de colores que van del 0 al 7 siendo estos (de 0 a 7)especifica de la GUI, gris/azul, gris claro, amarillo, azul/verde, verde, rojo, violeta. Para agregar intensidad al color utilizamos la sentencia...

Acceder a esta publicación

Creado y Compartido por: Lautaro Gabriel Dominici

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Variante de ejecucion Es una imagen de informacion fija que se introduce en una pantalla de seleccion de una transaccion, con una variante se pueden introducir valores en cada campo de la pantalla de seleccion y grabarlos para despues recuperarlos y ejecutarlos. En un reporte con una pantalla de seleccion se pueden guardar los datos ingresados en los parametros con variantes de ejecucion, para no tener que ingresarlos cada vez que se ejecute el programa. Son sumamente utilies para el usuario final y para los consultores para probar la transaccion en etapa de prueba. Para grabar una variante, desde dentro del programa una vez ingresados los datos se selecciona el boton de grabar en la barra de herramientas, luego en la siguiente pantalla se le...

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!