Ayuda SAP

SUBMIT no recibe datos correctos de Prog H99CWTR0

Hola a todos, queria consultarles este caso que se me esta presentando, en un programa Z se realiza el submit al programa H99CWTR0 y los valores que estan memoria al retornar veo que llegan saltandose campos.

El codigo lo tengo asi:

SUBMIT h99cwtr0 USING SELECTION-SET 'REP_ARCH_PREST'
WITH pnppernr EQ pernr-pernr
WITH begd_cal = fecha_inicio_proceso_real
WITH endd_cal = fecha_fin_proceso_real
WITH SELECTION-TABLE seltab1
EXPORTING LIST TO MEMORY AND RETURN.

CLEAR: itab_list, it_text1.
REFRESH: itab_list[], it_text1[].

* extraer lista del programa
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = itab_list
EXCEPTIONS
not_found = 4
OTHERS = 8.

IF sy-subrc = 0.

** COnvertir lista del programa
CALL FUNCTION 'LIST_TO_ASCI'
TABLES
listasci = it_text1
listobject = itab_list
EXCEPTIONS
empty_list = 1
list_index_invalid = 2
OTHERS = 3.

Al debugear y observa que valores obtengo me muestra:

Donde los valores quee stan debajo del titulo importe en realidad es la cantidad, ya que ejecutando directamente ese programa me muestra:
image

Le cree una variante nueva al programa H99CWTR0 con una nueva disposicion ALV de los 6 campos que necesito extraer pero igual me da el detalle, la estructira la tengo asi igual que la disposicio que cree:

image

Que podria revisar por favor.

Muchas Gracias

Ana

La imagen del Debug, es despu茅s de la funci贸n LIST_TO_ASCI 贸 LIST_FROM_MEMORY?

si despus de esas funciones

Cambia la estructura de IT_TEXT1 a string o char con una longitud grande y analiza tu resultado. Es tema de formato de datos.

Hola amigo gracias por contestar, y para realizar calculos como haria si es char.Porque necesito acumular el importe, y demas campos de importe.

Seria algo asi?
DATA: BEGIN OF it_text1 OCCURS 0,
agpai(6) type C,
cc_n(6) type C,
texto_expl_cc_nomina(26) type C,
ctd(25) type C,
importe(25) type C,
mon(6) type C,

END OF it_text1.

Luego tengo que hacer este calculo, :

LOOP AT it_zhrt_r_arch_pres WHERE zid_columna = 鈥2鈥.

LOOP AT it_text1 WHERE cc_n+1(5) = it_zhrt_r_arch_pres-zlgart.
monto_char = it_text1-importe+1(21).
REPLACE ALL OCCURRENCES OF 鈥.鈥 IN monto_char WITH 鈥 '.
REPLACE ALL OCCURRENCES OF 鈥,鈥 IN monto_char WITH 鈥.鈥.
REPLACE ALL OCCURRENCES OF 鈥榺鈥 IN monto_char WITH 鈥 '.
CONDENSE monto_char NO-GAPS.
wa_salida_detalle-sueldo_salario = wa_salida_detalle-sueldo_salario + monto_char.
ENDLOOP.

ENDLOOP.

wa_salida_detalle-sueldo_salario = wa_salida_detalle-sueldo_salario / 2.
Gracias

Ana

Primero convierte la tabla a string o de tipo caracter largo. Despu茅s haces un split por 鈥榺鈥. Comienza en el reglon 4 en la lectura, y termina tu lectura en el antepenultimo registro.

Cuando me dices que empiece con el renglon 4 eso seria de que forma?

Gracias

Ana

@aalvarez2605, Ana :pray: no es la primera vez que te pido por favor que cuando pongas c贸digo, le pongas formato. Lee: C贸mo usar el foro de Consultoria-SAP si no sabes c贸mo hacer.

Ayudanos a mantener la calidad de la comunidad.

LOOP AT it_tabla FROM 4.

1 me gusta

Hola Amigo, coloque el codigo de esta manera para que me comience en la linea 4 como me indicaste pero al debugear veo que no me toma cierta informacion:

LOOP AT it_text1 FROM 4.
SPLIT it_text1 AT 鈥榺鈥 INTO: agpai
cc_n
texto_expl_cc_nomina
ctd
importe
mon.

it_text1_sal-agpai = agpai.
it_text1_sal-cc_n = cc_n.
it_text1_sal-texto_expl_cc_nomina = texto_expl_cc_nomina.
it_text1_sal-ctd = ctd.
it_text1_sal-importe = importe.
it_text1_sal-mon = mon.
APPEND it_text1_sal.
ENDLOOP.

La salida que me arroja debugeando es:

image

image

Y veo que el registro lo tiene en su linea 4:

image

Que detalle me esta faltando?

Muchas Gracias

Ana

A todos, si no usan el foro correctamente, se eliminar谩n los mensajes y los usuarios ser谩n suspendidos o sus mensajes quedar谩n bajo moderaci贸n. Usen el foro como corresponde鈥 :pray:

No peguen c贸digo ABAP como imagen! :angry:

1 me gusta

Mi estimado, quita el primer y el 煤ltimo 鈥榺鈥.

1 me gusta

pero con el SPLIT que tiene ya no lo estaria haciendo?

Esta tomando como dato aquello que esta antes del primer 鈥榺鈥, imagina un archivo CSV pero separado por 鈥榺鈥.

1 me gusta

Muchas Gracias Amigo, ya solucione con su apoyo.

Saludos

Ana