#1
|
|||
|
|||
crear y validar un check
HOLA. antes que nada recuerdo que soy algo nueva en todo esto de SAP
TENGO UN DUDA, TENGO UN LISTADO ALV AHORA ME PIDEN QUE AGREGUE UN CAMPO CON LA FECHA DE CONTABILIZACION Y QUE COLOQUE UN CHECK EN LA PANTALLA PARA SELECCIONAR SI SE QUIEREN VER LAS CONTABILIZADAS O NO. Me dicen que si esta contabilizada la factura, esta en la bseg, por lo que PRIMERA PREGUNTA DEBO HACER DOS SELECT??? POR UN IF??? A VER ALGO ASI COMO IF "CHECK ESTA ACTIVO" ACA EL SELECT CON RESPECTO A LA BSEG ELSE ACA EL SELECT CON LA VBRK ENDIF. PODRIA HACERLO ASI???????? SEGUNDA PREGUNTA COMO DEBO DEFINIR EL CAMPO DE ESE CHECK PARA USARLO EN EL PROGRAMA Y PARA VISUALIZARLO EN LA PANTALLA DE SELECCION????? GRACIASSSSS |
#2
|
||||
|
||||
Primero que facturas las de FI o de SD, segundo no puedes entrar tan directamente a la bseg por que es tabla cluster debes usar la cabecera BKPF o las tablas indices bsad, bsak, bsik, bsid, bsas, bsis.
El chec solo es un check box como parametro si escribes checkbox y luego F1, veras la documentacion que te guiara a usarlo correctamente espero te sirva.
__________________
Un Huevon No Inútil Solo di lo que piensas, a la mejor tienes la mejor respuesta.... Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo..... Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho..... Consultor FI jr/ABAP Sr. |
#3
|
|||
|
|||
hola.... mira este es el codigo q estoy usando.... podrias orientarme en la parte que esta en rojo digo, en referencia a la tabla q deberia usar para mostrar las contabilizadas????? gracias *&---------------------------------------------------------------------* *& Report ZPS_LISTADO_VBRK * *& * *&---------------------------------------------------------------------* *& * *& * *&---------------------------------------------------------------------* REPORT zps_listado_facturas . *--Definición de las tablas TABLES: vbrk, kna1, bkpf, bseg. *--Definición de las Tipos, datos y TI TYPES: BEGIN OF t_vbrk, fkdat LIKE vbrk-fkdat, "Fecha de la Factura vbeln LIKE vbrk-vbeln, "Numero de la Factura belnr LIKE vbrk-belnr, "Numero de Factura zuonr LIKE vbrk-zuonr, "Codigo Analitico kunag LIKE vbrk-kunag, "Codigo Solicitante Cliente name1 LIKE kna1-name1, "Nombre Cliente opera LIKE vbrk-vbeln, "Operacion netwr LIKE vbrk-netwr, "Importe - Valor Neto waerk LIKE vbrk-waerk, "Moneda fksto LIKE vbrk-fksto, "Anulada budat LIKE bkpf-budat, "Fecha de Contabilizacion xblnr LIKE bkpf-xblnr, " fkart LIKE vbrk-fkart, "Clase de Documento BELNR like bseg-BELNR, END OF t_vbrk. DATA: wa_factura TYPE STANDARD TABLE OF t_vbrk WITH HEADER LINE. DATA: it_fact TYPE STANDARD TABLE OF t_vbrk WITH HEADER LINE. *DATA: contab TYPE c. *DATA: it_output TYPE STANDARD TABLE OF t_vbrk WITH HEADER LINE, *p_tipo(10). * **--Selección de la pantalla principal SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. SELECT-OPTIONS: so_vbeln FOR vbrk-vbeln. SELECT-OPTIONS: so_fkdat FOR vbrk-fkdat. SELECT-OPTIONS: so_kunag FOR vbrk-kunag. SELECT-OPTIONS: so_fkart FOR vbrk-fkart. PARAMETER: so_fksto LIKE vbrk-fksto. PARAMETER: conta AS CHECKBOX DEFAULT ' '. SELECTION-SCREEN: END OF BLOCK b1. *En relación a las facturas contabilizadas. En la pantalla de selección *se debe poner un checkbox que indique si la factura está contabilizada *o no y ya dentro del listado incluir la fecha de contabilización que es * el BUDAT. * *Una factura está contabilizada si está almacenda en la BSEG. De manera *que si te piden las facuras contabilizadas debes accceder a la BSEG y *ver si está allí almacenada. * *El checkbox de la pantalla de selección lo puedes guardar en una *variable y luego haces el chequeo antes de acceder a la BSEG. * *Si quieres mañana hablamos por si tienes dudas. *&---------------------------------------------------------------------* *& Form seleccion_datos *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->IT_ text *----------------------------------------------------------------------* FORM seleccion_datos TABLES it_vbrk STRUCTURE it_fact. "it_output. *--Seleccionando los datos de la BD IF conta = 'X'. SELECT * FROM ( vbrk inner join kna1 on vbrk~kunag = kna1~kunnr ) INNER JOIN bkpf ON vbrk~xblnr = bkpf~xblnr INTO CORRESPONDING FIELDS OF TABLE wa_factura WHERE vbeln IN so_vbeln AND fkdat IN so_fkdat AND kunag IN so_kunag AND fksto = so_fksto. ELSE. SELECT * FROM ( vbrk INNER JOIN kna1 ON vbrk~kunag = kna1~kunnr ) INNER JOIN bkpf ON vbrk~xblnr = bkpf~xblnr INTO CORRESPONDING FIELDS OF TABLE wa_factura WHERE vbeln IN so_vbeln AND fkdat IN so_fkdat AND kunag IN so_kunag AND fksto = so_fksto. ENDIF. *--Si trae la información de la BD, clasificar la información IF sy-subrc = 0. *--Interactuando con la WA donde se guardo la información extraida de BD LOOP AT wa_factura. *--Moviendo la información de la WA a la TI que se mostrará en el ALV MOVE-CORRESPONDING wa_factura TO it_fact. *--Agregando la información a la TI APPEND it_fact. ENDLOOP. ENDIF. ENDFORM. "selección *--Definiendo el primer evento del reporte START-OF-SELECTION. *-Llamando a las subrutinas y pasandole la TI que se mostraran en el ALV PERFORM seleccion_datos TABLES it_fact. "it_output. PERFORM alv_create TABLES it_fact. "it_output. *Type Pool donde vienen definidas todas las estructuras y tablas TYPE-POOLS: slis. DATA: * Catálogo de campos: contiene la descripción de los campos de salida alv_git_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, alv_git_fieldcat_par TYPE slis_t_fieldcat_alv WITH HEADER LINE, w_field TYPE slis_t_fieldcat_alv WITH HEADER LINE, alv_sort TYPE slis_t_sortinfo_alv, t_spec_groups TYPE slis_t_sp_group_alv, * Descripción de la estructura de salida alv_gwa_layout TYPE slis_layout_alv, * alv_gwa_print type slis_print_alv, * Cabecera del reporte alv_git_heading TYPE slis_t_listheader WITH HEADER LINE, * Eventos alv_git_events TYPE slis_t_event WITH HEADER LINE, alv_gc_save(1) TYPE c, alv_gc_exit(1) TYPE c, alv_gx_variant LIKE disvariant, alv_gx_tmpvariant LIKE disvariant, sp_group TYPE slis_sp_group_alv, * Nombre de la Tabla con los datos para el ALV alv_it_data TYPE slis_formname VALUE 'IT_ALV', * Nombre del programa alv_gx_repid LIKE sy-repid. *-------------------------------------------------------------------* * Declaración de constantes *-------------------------------------------------------------------* CONSTANTS: * FORM para escribir el encabezado alv_formname_top_of_page TYPE slis_formname VALUE 'ALV_TOP_OF_PAGE', * * alv_formname_user_command TYPE slis_formname VALUE 'USER_COMMAND', alv_formname_end_of_list TYPE slis_formname VALUE 'ALV_END_OF_LIST'. INITIALIZATION. * NOMBRE DEL PROGRAMA VARIABLE ALV alv_gx_repid = sy-repid. PERFORM initialize_variant. * gs_print-no_print_listinfos = 'X'. *Subrutinas del ALV *---------------------------------------------------------------------* * FORM alv_build_eventtab * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM alv_build_eventtab. FREE alv_git_events. *Llamada de la funcion CALL FUNCTION 'REUSE_ALV_EVENTS_GET' EXPORTING i_list_type = 0 IMPORTING et_events = alv_git_events[]. *Llamada del Top_of_page READ TABLE alv_git_events WITH KEY name = slis_ev_top_of_page. IF sy-subrc = 0. MOVE alv_formname_top_of_page TO alv_git_events-form. APPEND alv_git_events. ENDIF. *Llamada del End_of_list READ TABLE alv_git_events WITH KEY name = slis_ev_end_of_list. IF sy-subrc = 0. MOVE alv_formname_end_of_list TO alv_git_events-form. APPEND alv_git_events. ENDIF. ENDFORM. "alv_build_eventtab *&---------------------------------------------------------------------* *& Form alv_ini_layout *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM alv_ini_layout. * alv_gwa_layout-box_fieldname = 'SEL'. * alv_gwa_layout-edit = 'X'. * *Indica como se vera la pantalla de salida. * zebra = 'X' (Lista los registros con dos colores, uno por linea). * zebra = ' ' (Lista los registro de un solo color). alv_gwa_layout-zebra = 'X'. *Detail_popup = ' ' (Al pulsar doble-click en un registro de la lista *principal, se presenta otra lista con el detalle). *Detail_popup = 'X' (Al pulsar doble-click en un registro de la lista *principal, se presenta una ventana con el detalle). * alv_gwa_layout-detail_popup = ' '. ENDFORM. "alv_ini_layout *&---------------------------------------------------------------------* *& Form alv_ini_fieldcat *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM alv_ini_fieldcat. * Mediante esta tabla vamos a definir los campos que se quiere mostrar * en el listado de salida. *COLUMNAS CLAVES CLEAR alv_git_fieldcat. REFRESH alv_git_fieldcat. alv_git_fieldcat-tabname = alv_it_data. alv_git_fieldcat-fix_column = space. "# Dejar campos Fijos *--Fecha alv_git_fieldcat-fieldname = 'FKDAT'. alv_git_fieldcat-seltext_l = text-002. alv_git_fieldcat-just = 'C'. alv_git_fieldcat-col_pos = '0'. alv_git_fieldcat-outputlen = '15'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Numero de la Factura alv_git_fieldcat-fieldname = 'VBELN'. alv_git_fieldcat-seltext_l = text-003. alv_git_fieldcat-just = 'C'. alv_git_fieldcat-col_pos = '1'. alv_git_fieldcat-outputlen = '20'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Numero de la Factura 2 alv_git_fieldcat-fieldname = 'BELNR'. alv_git_fieldcat-seltext_l = text-003. alv_git_fieldcat-just = 'C'. alv_git_fieldcat-col_pos = '1'. alv_git_fieldcat-outputlen = '20'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Codigo Analitico alv_git_fieldcat-fieldname = 'ZUORN'. alv_git_fieldcat-seltext_l = text-004. alv_git_fieldcat-just = 'L'. alv_git_fieldcat-col_pos = '2'. alv_git_fieldcat-outputlen = '20'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Cliente alv_git_fieldcat-fieldname = 'NAME1'. "'KUNAG'. alv_git_fieldcat-seltext_l = text-005. alv_git_fieldcat-just = 'L'. alv_git_fieldcat-col_pos = '3'. alv_git_fieldcat-outputlen = '40'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Operacion alv_git_fieldcat-fieldname = 'VBELN'. alv_git_fieldcat-seltext_l = text-006. alv_git_fieldcat-just = 'L'. alv_git_fieldcat-col_pos = '4'. alv_git_fieldcat-outputlen = '20'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Importe alv_git_fieldcat-fieldname = 'NETWR'. alv_git_fieldcat-seltext_l = text-007. alv_git_fieldcat-just = 'L'. alv_git_fieldcat-col_pos = '5'. alv_git_fieldcat-outputlen = '7'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Moneda local alv_git_fieldcat-fieldname = 'WAERK'. alv_git_fieldcat-seltext_l = text-007. alv_git_fieldcat-just = 'L'. alv_git_fieldcat-col_pos = '5'. alv_git_fieldcat-outputlen = '7'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Anulada alv_git_fieldcat-fieldname = 'FKSTO'. alv_git_fieldcat-seltext_l = text-008. alv_git_fieldcat-just = 'L'. alv_git_fieldcat-col_pos = '5'. alv_git_fieldcat-outputlen = '7'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. *--Fecha de Contabilizacion alv_git_fieldcat-fieldname = 'BUDAT'. alv_git_fieldcat-seltext_l = text-010. alv_git_fieldcat-just = 'L'. alv_git_fieldcat-col_pos = '5'. alv_git_fieldcat-outputlen = '15'. APPEND alv_git_fieldcat. CLEAR alv_git_fieldcat. ENDFORM. "alv_ini_fieldcat *&---------------------------------------------------------------------* *& Form alv_build_comment *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM alv_build_comment. *Definicion del contenido del top_of_page DATA: aux_1(100) TYPE c, aux_2(100) TYPE c, empresa_nombre TYPE t001-butxt, fch1(10) TYPE c, fch2(10) TYPE c. DATA: divi(100) TYPE c, div_asignada TYPE c. FREE alv_git_heading. CLEAR aux_1. aux_1 = ' '. alv_git_heading-typ = 'H'. alv_git_heading-key = aux_1. alv_git_heading-info = aux_1. APPEND alv_git_heading. CLEAR aux_1. aux_1 = 'Listado de Facturas'. alv_git_heading-typ = 'H'. * alv_git_heading-key = aux_1. alv_git_heading-info = aux_1. APPEND alv_git_heading. * Fecha alv_git_heading-typ = 'S'. DATA fecha(10). PERFORM format_date USING sy-datum CHANGING fecha. alv_git_heading-key = 'Fecha: '. alv_git_heading-info = fecha. APPEND alv_git_heading. ENDFORM. "alv_build_comment *&---------------------------------------------------------------------* *& Form format_date *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_SY_DATUM text * <--P_FECHA text *----------------------------------------------------------------------* FORM format_date USING fecha_entrada LIKE sy-datum CHANGING fecha_salida TYPE c. *Definicion formato de la fecha CONCATENATE fecha_entrada+6(2) fecha_entrada+4(2) fecha_entrada+0(4) INTO fecha_salida SEPARATED BY '/'. ENDFORM. " format_date *&---------------------------------------------------------------------* *& Form alv_listado *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_IT_ALV text *----------------------------------------------------------------------* FORM alv_listado TABLES it_fact. "p_it_alv. DATA: lc_glay TYPE lvc_s_glay. lc_glay-edt_cll_cb = 'X'. *Llamado de la funcion del ALV *************** CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = ' ' i_buffer_active = ' ' i_callback_program = alv_gx_repid "g_repid * i_callback_pf_status_set = 'ALV_PF_STATUS_SET' * i_callback_user_command = 'USER_COMMAND' i_structure_name = 'it_fact' "alv_it_data "'T_DATOS' is_layout = alv_gwa_layout "gs_layout it_fieldcat = alv_git_fieldcat[] "gt_fieldcat[] * I_CALLBACK_PROGRAM = ' ' * I_CALLBACK_PF_STATUS_SET = ' ' * I_CALLBACK_USER_COMMAND = ' ' * I_CALLBACK_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_END_OF_LIST = ' ' * I_STRUCTURE_NAME = * I_BACKGROUND_ID = ' ' * I_GRID_TITLE = * I_GRID_SETTINGS = * IT_FIELDCAT = * IT_EXCLUDING = * IT_SPECIAL_GROUPS = it_sort = alv_sort[] * IT_FILTER = * IS_SEL_HIDE = i_default = 'A' " 'X' i_save = alv_gc_save "'A' is_variant = alv_gx_variant "gx_variant it_events = alv_git_events[] "gt_events[] * IT_EVENT_EXIT = * IS_PRINT =ls_print * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * IT_ALV_GRAPHICS = * IT_HYPERLINK = * IT_ADD_FIELDCAT = * IT_EXCEPT_QINFO = * I_HTML_HEIGHT_TOP = * I_HTML_HEIGHT_END = * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = TABLES t_outtab = it_fact "t_datos EXCEPTIONS program_error = 1 OTHERS = 2 . IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM. "alv_listado *&---------------------------------------------------------------------* *& Form alv_top_of_page *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM alv_top_of_page. *Llamado de la funcion del top_of_page CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = alv_git_heading[]. * I_LOGO = * I_END_OF_LIST_GRID = ENDFORM. "alv_top_of_page *&---------------------------------------------------------------------* *& Form alv_create *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM alv_create TABLES it_fact. "p_it_output. *Llamados de las subrutinas del ALV *** PERFORM ordenar_por USING alv_sort[]. PERFORM alv_build_eventtab. PERFORM alv_ini_layout. PERFORM alv_ini_fieldcat. PERFORM alv_build_comment. PERFORM alv_listado TABLES it_fact. "p_it_output. ENDFORM. "alv_create *&---------------------------------------------------------------------* *& Form initialize_variant *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM initialize_variant. *Llamado de la variable de inicializacion del programa alv_gc_save = 'A'. CLEAR alv_gx_variant. alv_gx_variant-report = alv_gx_repid. alv_gx_variant = alv_gx_variant. CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET' EXPORTING i_save = alv_gc_save CHANGING cs_variant = alv_gx_variant EXCEPTIONS not_found = 2. IF sy-subrc = 0. vari = alv_gx_variant-variant. ENDIF. ENDFORM. "initialize_variant **&--------------------------------------------------------------------- * **& Form ordenar_por **&--------------------------------------------------------------------- * ** text **---------------------------------------------------------------------- * ** -->P_SORT text **---------------------------------------------------------------------- ***FORM ordenar_por USING p_sort TYPE slis_t_sortinfo_alv. *** *** DATA: wa_sort TYPE slis_sortinfo_alv. *** CLEAR wa_sort. *** wa_sort-fieldname = 'vbeln'. *** wa_sort-spos = 1. *** wa_sort-up = 'X'. *** wa_sort-subtot = 'X'. *** APPEND wa_sort TO p_sort. *** *** ***ENDFORM. " ordenar_por *&---------------------------------------------------------------------* *& Form alv_pf_status_set *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->EXTAB text *----------------------------------------------------------------------* *FORM alv_pf_status_set USING extab TYPE slis_t_extab."TABLES *p_it_output * * SET PF-STATUS 'ESTANDAR_NEW_II'. " EXCLUDING p_it_output. * *ENDFORM. "alv_pf_status_set *&---------------------------------------------------------------------* *& Form refresca_alv *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->U_SELFIELD text *----------------------------------------------------------------------* FORM refresca_alv USING u_selfield TYPE slis_selfield. u_selfield-refresh = 'X'. u_selfield-col_stable = 'X'. u_selfield-row_stable = 'X'. ENDFORM. "refresca_alv *&---------------------------------------------------------------------* *& Form ALV_END_OF_LIST *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* *FORM alv_end_of_list. * **Seleccion del end_of_list ** DATA: aux_5(100) TYPE c. ** ** FREE alv_git_heading. ** aux_5 = 'Días'. ** alv_git_heading-typ = 'S'. ** alv_git_heading-key = aux_5. *** alv_git_heading-info = suma. ** APPEND alv_git_heading. ** ** CLEAR aux_5. *** FREE alv_git_heading. ** aux_5 = 'Promedio de días'. ** alv_git_heading-typ = 'S'. ** alv_git_heading-key = aux_5. *** alv_git_heading-info = promedio. ** APPEND alv_git_heading. ** * CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' * EXPORTING * it_list_commentary = alv_git_heading[] * i_end_of_list_grid = 'end'. ** ** ** *ENDFORM. "ALV_END_OF_LIST |
#4
|
|||
|
|||
Alguien Me Puede Ayudarrrrr
|
#5
|
|||
|
|||
Hola,
Tienes un problema de concepto que debería solucionarte tu consultor Si la factura de SD está contabilizada efectivamente se guarda la factura FI en la BKPF y en la BSEG. Si no me equivoco el número de documento es el mismo en FI y en SD por lo que lo que tienes que hacer para comprobar que la factura está contabilizada es mirar en la tabla BKPF si existe el número de documento. Podrías hacerlo con un INNER JOIN así: vbak INNER JOIN bkpf ON vbak~vbeln = bkpf~belnr O bien con selects anidados para cada factura SD hacer el select a la bkpf. Espero te sirva. Saludos |
#6
|
|||
|
|||
AAAAAAAAAAAA y si ya tengo esto: SELECT * FROM ( vbrk inner join kna1 on vbrk~kunag = kna1~kunnr ) INNER JOIN bkpf ON vbrk~xblnr = bkpf~xblnr INTO CORRESPONDING FIELDS OF TABLE wa_factura WHERE vbeln IN so_vbeln AND fkdat IN so_fkdat AND kunag IN so_kunag AND fksto = so_fksto. como hago para colocar otro inner o es q esto q tengo esta mal????? |
#7
|
|||
|
|||
Perdona pero no había visto el segundo inner Join.
En principio lo tienes hecho ¿que problema tienes ahora? |
#8
|
|||
|
|||
Pleasee
a ver....
coloque esto asi IF conta = 'X'. SELECT * FROM ( vbrk INNER JOIN kna1 ON vbrk~kunag = kna1~kunnr ) INNER JOIN bkpf ON vbrk~xblnr = bkpf~xblnr INTO CORRESPONDING FIELDS OF TABLE wa_factura WHERE vbeln IN so_vbeln AND fkdat IN so_fkdat AND kunag IN so_kunag AND fksto = so_fksto. ELSE. SELECT * FROM ( vbrk INNER JOIN kna1 ON vbrk~kunag = kna1~kunnr ) INNER JOIN bkpf ON vbrk~xblnr = bkpf~xblnr INTO CORRESPONDING FIELDS OF TABLE wa_factura WHERE vbeln IN so_vbeln AND fkdat IN so_fkdat AND kunag IN so_kunag AND fksto = so_fksto. ENDIF. evidentemente los dos selecte q tengo en el if y el else son identicos.... ya lo se.... PERO EL PROBLEMA QUE TENGO ES PRESCISAMENTE COMO VALIDO QUE UNA FACTURA A SIDO CONTABILIZADA???? OSEA SI EL CHECK = 'X' COMO PUEDO VALIDAR ESO???? ME HE LIADO BASTANTE... MI JEFA ME DICE ESTO: Una factura está contabilizada si está almacenda en la BSEG. De manera que si te piden las facuras contabilizadas debes accceder a la BSEG y ver si está allí almacenada. El checkbox de la pantalla de selección lo puedes guardar en una variable y luego haces el chequeo antes de acceder a la BSEG. Y ENTIOENDO QUE LA BSEG ES CLOSTER Y NO SE PUEDE ACCEDER DIRECTAMENTE... BUENO ESO ME LO DIJERON ACA ASI QUE NO TENGO IDEA COMO HACER ESA VALIDACION |
#9
|
|||
|
|||
Bueno veo dos casos:
1.- Quieres ver todas las facturas o solo las contabilizadas: Si el check es X tu select es el que tienes. En caso de que quieras ver todas le quitas el inner join a la BKPF 2.- Quieres ver las que no están contabilizadas o todas Si el check es x es el select que tienes(todas). En el otro caso tienes que recuperar todas las facturas y comprobar en la BKPF si existe el documento. Si existe no lo muestras. Con esto creo que lo tienes todo. Saludos Úlima edición por bisonye fecha: 27/02/08 a las 17:01:03. |
#10
|
||||
|
||||
Dejame tu correo
Si puedes dejarme tu correo Ok mas bien cheka tus mensajes privados de aqui de sap te deje una solucion el FORM extraccion es todo lo que necesitas.
__________________
01010000 01001010 10011000 10100001 De Byte a Beat. Úlima edición por Rodolfo Montiel Rivera fecha: 27/02/08 a las 21:36:19. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|