sql ejemplo de Cursor_For_Each_Hana

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql ejemplo de Cursor_For_Each_Hana相关的知识,希望对你有一定的参考价值。

DO BEGIN
   DECLARE vItems		integer;
  DECLARE i				integer;
  declare vNacs			integer;
  DECLARE vCode			nvarchar(50);
  declare vCIFTotal		decimal(21,6);
  declare vFleteTotal	decimal(21,6);
  declare vFleteLinea	decimal(21,6);
  DECLARE vLinea		integer;
  DECLARE vNumOrden		nvarchar(50);
  DECLARE vArtId 		nvarchar(100); 
  DECLARE vFOBLinea		decimal(21,6);
  DECLARE vFOBLineaUnit	decimal(21,6);
  DECLARE vCantidad		decimal(21,6);
  DECLARE vSaldo		decimal(21,6);
  declare vCIFLinea		decimal(21,6); 
  declare vCIFLineaUnit	decimal(21,6);
  declare vFactor		decimal(21,6);
  declare vPeso			decimal(21,6);
  
  DECLARE CURSOR curConsolida FOR
    select	a."Code",a."U_LDT_CIF", a."U_LDT_Flete_Almacen_Fiscal",
    		b."LineId",b."U_LDT_Orden_id",b."U_LDT_Articulo_Id",
    		b."U_LDT_FOB_Origen", -- FOB de la linea
			b."U_LDT_Cantidad", -- Cantidad en la linea
			c."U_LDT_Detalle_Factor_Unitario",
			b."U_LDT_CIF" as "U_LDT_CIF_DET" 
	  from 	"SB1LD_DTL_TEST_IMPORTACIONES"."@LDT_IMP_CONS_ENC" a 
	  inner join "SB1LD_DTL_TEST_IMPORTACIONES"."@LDT_IMP_CONS_DET" b
	  	on (a."Code"=b."Code")
	  inner join "SB1LD_DTL_TEST_IMPORTACIONES"."@LDT_OCEXT_DET" c
	  	on (c."Code"=b."U_LDT_Orden_id") and (c."U_LDT_ItemCode"=b."U_LDT_Articulo_Id")
     where 	a."U_LDT_Estado" <> 'AN';
  
   			  
   FOR cur_row as curConsolida DO

		select count(*) into vNacs
        from "SB1LD_DTL_TEST_IMPORTACIONES"."@LDT_IMP_NAC_ENC"
       where "U_LDT_Consolidado_Id" = cur_row."Code"
         and "U_LDT_Estado" in ('RE','AN');
      
      IF (vNacs = 0) THEN
		
	    vCantidad := cur_row."U_LDT_Cantidad" / cur_row."U_LDT_Detalle_Factor_Unitario";
	    vSaldo := vCantidad;
	    vFOBLineaUnit := cur_row."U_LDT_FOB_Origen" / vCantidad;
	    vCIFLineaUnit := cur_row."U_LDT_CIF_DET" / vCantidad;
	    vPeso:=cur_row."U_LDT_CIF_DET"/cur_row."U_LDT_CIF";
	    vFleteLinea:= (vPeso * cur_row."U_LDT_Flete_Almacen_Fiscal")/vCantidad ;
	               
		insert into "SB1LD_DTL_TEST_IMPORTACIONES"."@LDT_IMP_CONSDETFIX"
	    ("Code","LineId",
	     "FOBOrigen","FOBUnit",
	     "Cantidad","Saldo","CanFactor",
	     "MonFleteAdic","MonCIF","MonFleteUnit","MonFleteExt","MonCIFUnit")
	    values
	    (cur_row."Code", cur_row."LineId",
	     vFOBLinea,vFOBLineaUnit,
	     vCantidad,vSaldo,cur_row."U_LDT_Detalle_Factor_Unitario",
	     vFleteLinea,cur_row."U_LDT_CIF_DET",vFleteLinea,0,vCIFLineaUnit);   
      end if;
  	END FOR;
    
END;

select count(*) from "SB1LD_DTL_TEST_IMPORTACIONES"."@LDT_IMP_CONSDETFIX"

以上是关于sql ejemplo de Cursor_For_Each_Hana的主要内容,如果未能解决你的问题,请参考以下文章

java Ejemplo de Java 8

PHP ejemplo de AJAX

PHP ejemplo de AJAX

typescript Ejemplo de测试路由

xml Ejemplo del XML de curvas de nivel 100k

JavaScript Ejemplo de Ajax.Responders(原型)