es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Realización de cambios en SAP SCRIPT

Estoy tratando de cambiar una parte del formulario que ya se creó, y más específicamente la dirección del remitente que está en la cabeza del formulario. En los requisitos de los cambios que deben hacerse, se dice que se debe tomar la dirección del área de contabilidad (Buchungskreis) ‘0055’. El formulario se muestra a continuación:

https://i.stack.imgur.com/cjEDR.png

El objetivo es cambiar la dirección del remitente que incluye el nombre de la empresa, la calle, el código postal, la ciudad y el país. El formulario que se ha creado tiene la siguiente estructura:

https://i.stack.imgur.com/ISrOf.png

Ahora no estoy seguro de dónde se debe hacer el cambio, en el formulario o en el programa en sí. El código del formulario que se utiliza en la parte del remitente del formulario es:

/* ,,

&ZSDSADR-NAME1&</>
/* ,,

&ZSDSADR-LAND1&&’-‘ZSDSADR-PSTLZ& &ZSDSADR-ORT01&
/* ,,Tel:,,&ZSDSADR-TELF1&
/* ,,Fax:,,&ZSDSADR-TELFX&</>
SB

Remitente:</>
SB &ZSDSADR-NAME1& &ZSDSADR-NAME2& &ZSDSADR-NAME3& &ZSDSADR-NAME4&
SB &ZSDSADR-STRAS&
SB &ZSDSADR-PSTLZ& &ZSDSADR-ORT01&&’-‘ZSDSADR-ORT02&, Alemania
/* PÁRRAFO DE ENTREGA DE DIRECCIÓN
/* CALLE &ZSDSADR-STRAS&
/* POBOX &ZSDSADR-PFACH& CÓDIGO &ZSDSADR-PSTL2& CIUDAD &ZSDSADR-PFORT&
/* CÓDIGO POSTAL &ZSDSADR-PSTLZ&
/* CIUDAD &ZSDSADR-ORT01&, &ZSDSADR-ORT02&
/* REGIÓN &ZSDSADR-REGIO&
/* PAÍS &ZSDSADR-LAND1&
/* DESDE EL PAÍS &ZSDSADR-LAND1&
/* FINALIZAR DIRECCIÓN
/* ALEMANIA
/* ‘Tel: ‘ZSDSADR-TELF1(C)&&’ Fax: ‘ZSDSADR-TELFX(C)&
/: INCLUIR ZVGF_TEL_ZET5 OBJETO TEXTO ID ZVGF PÁRRAFO SB

Y la parte del código en el programa que se utiliza para declarar la tabla ZSDSADR es:

CALL FUNCTION ‘ADDR_GET’
EXPORTANDO
address_selection = addr_selection
address_group = ‘ ‘
IMPORTANDO
sadr = zsdsadr
EXCEPCIONES
OTROS = 1.
SI sy-subrc NE 0.
CLEAR zsdsadr.
ELSE.
SELECCIONE ÚNICO landk DE t005 EN zsdsadr-land1
DONDE land1 = zsdsadr-land1.
FINALMENTE.

vbdkl-sland = zsdsadr-land1.
MOVER-CORRESPONDIENTE zsdsadr A zsdsadr.

Por favor, avíseme si necesita más información.

¡Gracias a todos de antemano!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para cambiar la dirección del remitente en el formulario, deberá modificar el código ABAP en el propio formulario. En el código existente, la dirección del remitente se extrae de la tabla ZSDSADR mediante la lógica del programa proporcionada. Para actualizar la dirección con el área contable ‘0055’, deberá modificar el código para recuperar la dirección de esa área en su lugar.

    Estos son los pasos que puede seguir:

    1. Determine qué campo en la tabla ZSDSADR se corresponde con la dirección del remitente. Según el código existente, parece que los campos que se están utilizando son NAME1, NAME2, NAME3, NAME4, STRAS, PSTLZ, ORT01 y ORT02. Deberá verificar que estos campos contengan los valores correctos para la dirección del remitente.
    2. Modifique el código existente para recuperar la dirección del área contable ‘0055’. Puede hacer esto mediante la actualización del parámetro address_selection en la llamada de función ADDR_GET para incluir los criterios apropiados para el área contable. Por ejemplo:

      address_selection-bukrs = '0055'.

      Esto asegurará que solo se recuperen las direcciones para el área contable especificada.

    3. Una vez que haya recuperado la dirección correcta de la tabla, deberá actualizar los campos correspondientes en el formulario. Esto se puede hacer reemplazando las referencias de campo existentes (&ZSDSADR-NAME1&) con los nuevos nombres de campo de la tabla.

      Por ejemplo, podría reemplazar esta línea:

      SB &ZSDSADR-NAME1& &ZSDSADR-NAME2& &ZSDSADR-NAME3& &ZSDSADR-NAME4&

      con esta línea:

      SB &ZSDSADR-NEWNAME1& &ZSDSADR-NEWNAME2& &ZSDSADR-NEWNAME3& &ZSDSADR-NEWNAME4&

      donde ‘NEWNAME1’, ‘NEWNAME2’, etc. son los nombres de campo correspondientes de la tabla.

    4. Pruebe el formulario actualizado para asegurarse de que la dirección del remitente se muestre correctamente. Es posible que deba ajustar el formato y diseño de los campos de dirección para asegurarse de que se alineen correctamente con el resto del formulario.

Comments are closed.